メインのウインドウと別に、一つのモードレス・ダイアログを持っているプロジェクトなのですが
そのモードレス・ダイアログ上では「ダブルクリック」の検出を止めたいと思い、
ダイアログ・コールバックプロシージャ内のInitDialogイベントで下のように書きました。
switch (msg){
case WM_INITDIALOG:
SetClassLong(hWnd, GCL_STYLE, GetClassLong(hWnd,GCL_STYLE) ^ CS_DBLCLKS);
これで確かにダブルクリックは検出されなくなったのですが、
但しここでこう書いてしまうと以降メインのウインドウでもダブルクリックが効かなくなるようなのです。
この動作を見る限り、モードレスダイアログはメインのウインドウと「ウインドウクラス」を共用(?)しているのでしょうか。
もしそうならダイアログはダイアログで別にウインドウクラスを作り、それを適用させなければならないのなとも思うのですが、その方法が。。。
(メインのウインドウはCreateWindowEx()で作り、その第二引数で「クラス名」がセット出来たのですが、ダイアログはリソース・エディタ(BCC Form)で作っていてクラスをどのように適用出来るのかがまだ分からず。)
「モードレスウインドウ上のみダブルクリックを検出せず」
「しかしメインウインドウ上では普通通りダブルクリックを検出したい」
このようなことを実装するにはどうすれば良いでしょうか?