dポイントプレゼントキャンペーン実施中!

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

環境はBorlandです。

A 回答 (2件)

補足に書かれてあるSTN_CLICKED/STN_DBLCLKの話ですが、これはWM_COMMANDで親ウィンドウへ返されるものですね。



ですのでサブクラス化したSTATICには送られないですよ。
希望のメッセージをキャッチ出来たのなら放っておいて良いと思いますが。

参考URL:http://www.nitoyon.com/vc/reference/gui/static.htm
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/05/03 20:57

こんにちは。

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

この回答への補足

当該部分というより試した結果を載せます
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さえ返ってくればいいのでほっといてもいいのですけど
なぜ返ってこないのか気になります。
よろしくお願いします。

補足日時:2006/04/26 15:43
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!