投稿日 | : 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