イベント

Message イベント

フック対象のフォームまたはコントロールが、Windows からメッセージを受け取った時に発生します。

構文
Private Sub
object_Message ([index As Integer,]ByRef wMsg As Long, ByRef wParam As Long, ByRef lParam As Long, ByRef bDiscard As Boolean, ByRef lResult As Long)

Message イベントの構文の指定項目は次のとおりです。

指定項目 内容
object メッセージ フック コントロールを指すオブジェクト式です。
index object がコントロール配列の場合に、配列内の個々のコントロールを指す整数値です。
wMsg 受け取ったメッセージの ID です。
wParam メッセージとともに送られる wParam パラメータです。wParam の内容は、メッセージによって異なります。
lParam メッセージとともに送られる lParam パラメータです。lParam の内容は、メッセージによって異なります。
bDiscard Message イベント プロシージャで処理したメッセージを、Visual Basic の内部機構へ送らないかどうかをブール式で指定します。既定値は False です。
lResult bDiscard = True の場合 (Visual Basic の内部機構へメッセージを送らない場合) に、Windows へ返す結果コードを指定します。既定値は 0 です。

設定値
bDiscard の設定値は次のとおりです。

設定値 内容
True メッセージは Visual Basic の内部機構へ送られません。この場合、lResult が結果コードとして Windows へ返されます。
False (既定値) メッセージは Visual Basic の内部機構へ送られます。lResult の値は無視されます。

解説
Message イベントは、hWndHook プロパティで指定したフォームまたはコントロールが、HookEnabled プロパティで指定したメッセージを受け取ったときに呼び出されます。

wMsg にはメッセージの ID が指定されているので、複数のメッセージをフックしている場合は、Select Case ステートメントを用いて、メッセージごとに処理を分岐することができます。また、必要に応じて wMsg の値を変更することもできます。

wParamlParam には、メッセージとともに送られるパラメータが指定されます。これらのパラメータの意味は、メッセージによって異なります。詳しくは、Windows API に関する書籍等をご参照ください。これらのパラメータは、必要に応じて変更することができます。

lParam に指定される値は、値そのものである場合と、ユーザ定義型の変数のアドレスである場合があります。変数のアドレスである場合、Visual Basic からはその変数の内容にアクセスすることができません。アクセスする必要がある場合は、メッセージ フック コントロールが提供する mhGetData 関数および、mhSetData 関数を使用します。

bDiscard フラグが False の場合、フックされたメッセージは、Message イベントで処理された後 Visual Basic へ送られ、内部機構によって処理されます。bDiscard フラグを True に設定すると、メッセージは Visual Basic へは送られず、代わりに lResult が Windows へ返されます (「メッセージ フック コントロールとは?」を参照)。Visual Basic にメッセージの処理をさせたくない場合は、bDiscard フラグを True に設定してください。ただし、この場合は、メッセージの処理結果コードを Windows へ返すために、lResult に適切な値を設定する必要があります。メッセージの処理結果コードは、メッセージによって異なります。詳しくは、Windows API に関する書籍等をご参照ください。

注意 Message イベント プロシージャの中で、Windows API の SendMessage 関数を呼び出すときは、イベントの連鎖が発生しないように十分注意してください。

参照 hWndHook プロパティHookEnabled プロパティmhGetData 関数mhSetData 関数メッセージ フック コントロールとは?

リターン Message Hook Control リファレンス


Copyright (C) 1998, Kentaro Hara. All rights reserved.
無断転載を禁じます。

最終更新日 : 1998 年 12 月 31 日
Version 1.0.0.3