通知
すべてクリア
Topic starter
2003年3月3日 8:21 PM
拡張リストボックスの詳細表示で、アイテムのダブルクリックをLBN_DBLCLKの
メッセージで受け取りたいのですが、
hList = CreateWindow(のスタイルで、LBS_NOTIFYを指定しています。
リストの親は、hWndです。
hWndのプロシージャで
case WM_COMMAND:
if (HIWORD(wParam) == LBN_DBLCLK) {
MessageBox(hWnd, ダブルクリックされた, ", MB_OK);
} else {
MessageBox(hWnd, ダブルクリック以外, ", MB_OK);
}
break;
これで実験してみたんだけど、WM_COMMANDが発生しません。
LBS_NOTIFYは拡張でないリスト専用ですか?
2003年3月3日 9:55 PM
Windows 3.1 に存在していたコントロールに対しては、Win32 API は Windows 3.x で使われ
ていたほとんどの通知メッセージを使います。しかし、Win32 では Windows 3.x でサポート
されていたコントロールに加えて、数多くの洗練された複雑なコントロールを追加します。これ
らのコントロールは、通知メッセージに伴う追加データの送信を必要とする場合があります。
Win32 API の設計者は、追加データを伴う必要がある通知に新しく WM_* メッセージを追加す
る代わりに、WM_NOTIFY というただ 1 つのメッセージを追加して、標準の方法で任意の数の追
加データを渡せるようにしました
・・・です。
ってほとんどMSDNからの引用ですが。