投稿時間:2003/10/01(Wed) 21:11 投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:Re: WithEventsのコントロールが配列の場合について
> WithEventsについて教えてください。
残念ながら、WithEventsでは対応できないと思います。
どうやら、コントロールが配列化されている時とそうでない時とでは、 イベントインターフェイスが異なっているようです。試しに、
Dim Z As TextBoxEvents Z.KeyPress …
のようなコードを書いて、IntelliSense を表示させてみたところ、 入力ヒントには「KeyAscii As Integer」と出力されましたので。 # コントロール配列のイベントなら、「Index As Integer, KeyAscii As Integer」になるはず。
これが標準コントロールではなく、ActiveXコントロールであれば、 VBControlExtenderを使って回避する事ができますが、 残念ながら、標準コントロールでは無理でしょう。
Option Explicit
Private WithEvents mobjControl As VB.VBControlExtender
Friend Sub SetControl(ByVal Ctrl As VB.Control) Set mobjControl = Ctrl End Sub
Private Sub mobjControl_ObjectEvent(Info As EventInfo) If Info.Name = "Change" Then MsgBox "変更された" End If End Sub
|