ピクチャーボックス – プログラミング – Home

通知
すべてクリア

ピクチャーボックス


picture
 picture
(@picture)
ゲスト
結合: 16年前
投稿: 3
Topic starter  

VS2005 MFC、XPで開発しています。

ダイアログベースで、その上にピクチャーボックスを置きます。
そのピクチャーボックス上でのマウスの操作イベントを取りたいです。

ピクチャーボックスのプロパティで確認できるイベントは、
STN_CLICKED
STN_DBLCLK
STN_DISABLE
STN_ENABLE
しかないようです。

MouseMoveとかとりたいのですが、どのようにすればよいのでしょうか?


引用解決済
トピックタグ
wclrp ( 'o')
 wclrp ( 'o')
(@wclrp ( 'o'))
ゲスト
結合: 18年前
投稿: 287
 

ピクチャーに限らず親ウィンドウでは特定の通知しか来ないよ。
WM_MOUSEMOVEはそこにあるウィンドウに送られるから。

ピクチャーをサブクラス化するか
親ウィンドウのPreTranslateMessageで覗くか
のどちらかだな。

MFCなのでサブクラス化は、
ピクチャーをIDC_STATIC(-1)以外のユニークなものにして
ピクチャーをコントロールとして変数を作らせて
その変数のクラスの派生クラス作って
親ウィンドウのヘッダファイルに#include 派生クラスのヘッダを追加して
その変数のクラスを派生クラスに置き換える。

そうすればその派生クラスで受け取れるよ。
たぶん探せばやり方見つかると思う。

PreTranslateMessageは調べればわかると思うので略。


返信引用
rin
 rin
(@rin)
ゲスト
結合: 18年前
投稿: 112
 

ピクチャーボックスじゃなくてピクチャーコントロールではないかと思いますが

ためしに
ビットマップタイプ+リソースから読み込み(それ以外いじらず)
で作ってみたところ、
ベースのダイアログに対して、メッセージが飛んできました


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました