• ベストアンサー

STATICコントロール

質問があります。 CreateWindowで作ったSTATICコントロールなのですが サブクラス化をして処理をしようと思っていたのですがWM_LBUTTONDOWN、その他マウスイベントメッセージが返ってきません。 これは仕様なのでしょうか? 環境はBorlandです。

質問者が選んだベストアンサー

  • ベストアンサー
  • davidfox
  • ベストアンサー率58% (21/36)
回答No.2

補足に書かれてあるSTN_CLICKED/STN_DBLCLKの話ですが、これはWM_COMMANDで親ウィンドウへ返されるものですね。 ですのでサブクラス化したSTATICには送られないですよ。 希望のメッセージをキャッチ出来たのなら放っておいて良いと思いますが。

参考URL:
http://www.nitoyon.com/vc/reference/gui/static.htm
Missing0001
質問者

お礼

そうだったのですか? だから返ってこなかったんですね 回答、ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

こんにちは。Borlandの環境は使ったことがないですが Staticコントロールのオーナーに対して 欲しいイベントが通知されていませんか? また、該当部分のコードが示されれば 経験者の方からコメントがもらえるかもしれません。

Missing0001
質問者

補足

当該部分というより試した結果を載せます CreateWindow( "STATIC", "", WS_BORDER | WS_CHILD | WS_VISIBLE, 100,100,100,100,hWnd,NULL,NULL,NULL); という風にSTATICウィンドウを作りました。 それだと質問したときと同じくWM_MOUSEMOVE,WM_LBUTTONDOWN,WM_LBUTTONDBLCLKなどは来ませんでした。 そのあと、 ttp://yokohama.cool.ne.jp/chokuto/urawaza/prm/ctl_style.html のサイトでSS_NOTIFYを指定すると「STN_CLICKED or STN_DBLCLK通知メッセージが送られる」とあるのでWM_LBUTTONDOWNももしかしたら・・・ と思ってしてみたら WM_LBUTTONDOWN、WM_LBUTTONUP、WM_LBUTTONDBLCLK、WM_RBUTTONDOWN、WM_RBUTTONUP、WM_RBUTTONDBLCLK: 、WM_MOUSEMOVE、32、33、123 が返ってくるようになりました。 けれどSTN_CLICKED or STN_DBLCLKが返ってきません。 書いていることと結果が違うのがよくわかりません。 私としましては WM_LBUTTONDOWN、WM_LBUTTONUP、WM_MOUSEMOVEさえ返ってくればいいのでほっといてもいいのですけど なぜ返ってこないのか気になります。 よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A