PictureBoxをクリックして位置を取得したい・・・

[戻る]
poた 2009/04/12(日) 13:25:26
 MFCのダイアログベースでPictureBoxをクリックし位置を取得したいのですが、どの本
を見てもシングル(ダブル)ドキュメント形式でのものしか載ってなくて・・・
 ダイアログベースので、イベントを追加しようとしたら、
    SS_NOTIFYを呼び出す必要があります
って書かれているんです。試しに無視してやってみたのですが、関数が呼び出されません
でした・・・この SS_NOTIFY ってどうやって呼び出すんですか?

しま 2009/04/12(日) 15:01:17
>この SS_NOTIFY ってどうやって呼び出すんですか

それは呼び出すものではないのですが、
google ででも S_NOTIFY で検索すればいろいろ見つかると思いますよ

poた 2009/04/12(日) 15:13:20
見つかりました!!!とりあえず、クリックしたときに関数を呼び出すことはできまし
た!!!
   xxx.ModifyStyle(0,SS_NOTIFY);
をDlg.cppのOnInitDialog()に追加したらできました!
 では、PictureBoxでクリックしたときに、クリックした位置を取得するにはどうしたら
いいのですか?MouseDownがいいのかな、と思ったのですが、MouseDownイベントが追加で
きません・・・

しま 2009/04/12(日) 23:50:41
> では、PictureBoxでクリックしたときに、クリックした位置を取得するには
>どうしたらいいのですか?
>MouseDownがいいのかな、と思ったのですが、MouseDownイベントが追加できませ
ん・・・

MouseDown はどこ(何に)追加したいのですか?
それから SS_NOTIFY は何故(どうしたいから)追加するのか分かっていますか?

poた 2009/04/13(月) 00:15:46
あまりよく理解していないのですが・・・PictueBoxにおけるMouseDownを追加したいのです・・・

SS_NOTIFYについてはよくわからないのですが、ちょっと調べたところ・・・
親に通知するってことらしいのですが・・・詳しく教えてもらえませんか?

wclrp ( 'o') 2009/04/13(月) 00:45:59
クリックの通知では座標情報は無いね。

検索したらいいもの見つけた
GetMessagePos

スクリーン座標なので
ScreenToClient

これが確実に希望するものかどうかは知りません。

poた 2009/04/13(月) 01:06:25
 GetMessagePox、ScreenToClient
共に目的に合いそうです!学校でしかプログラムいじれないので、数日後に試してみて、
できてから[解決]をチェックしますねw

どうもありがとうございます!助かります!

PATIO 2009/04/15(水) 16:36:32
この辺の関数を自力で探すためには
Windowsのイベントの流れとかどういうウインドウメッセージが
飛んできてどういう動きをしているのかとかそういう知識が必要になります。
で、この辺は漠然とただプログラムを組んでいても理解しにくいと思うので
ある程度は本とかホームページとかで勉強する必要があります。

まあ、C++言語知識がある程度あれば、習うより慣れろである程度は出来るように
なると思いますが、習うより慣れろだけでは限界があるので知識を増やす方の
勉強も並行してやった方が良いです。

古いスレッドには追加発言できません。