VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -