ボタンの上で右クリックを押すとヘルプが出るようにしたい – プログラミング – Home

ボタンの上で右クリックを押すとヘルプが...
 
通知
すべてクリア

[解決済] ボタンの上で右クリックを押すとヘルプが出るようにしたい


ガラ
 ガラ
(@ガラ)
ゲスト
結合: 20年前
投稿: 201
Topic starter  

MFC 6.0 XP
ダイアログにリソースエディタで、ボタンを貼り付けて、
左ボタンで機能実行。右ボタンでどのような機能が実行されるのか説明したいのです
が、クラスウィザードをあけて、そのボタンのメーセージをみると、
BN_CLICKED,BN_DOUBLECLICKEDの設定しかありません。
BN_RIGHTCLICEDみたいなものを想像していたのですが、右クリックは設定できない?の
でしょうか?


引用未解決
トピックタグ
仲澤@失業者
(@uncle_kei)
Prominent Member
結合: 5年前
投稿: 828
 

右クリックされるとWM_CONTEXTMENUメッセージが親のDLGにくるはずです。
DLGで、このメッセージをハンドリングしてください。


返信引用
ガラ
 ガラ
(@ガラ)
ゲスト
結合: 20年前
投稿: 201
Topic starter  

仲澤@失業者さん、レスありがとうございます。いつもすみません。
WM_CONTEXTMENUをハンドリングして、
void CMyDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
 pWnd->MessageBox(I'm a Girl. 25 Years old.) ;
}
とハンドリングしてみましたが、どのボタンの上で右クリックが押されたのか、わから
ないのですが、判別する方法はないでしょうか?


返信引用
ガラ
 ガラ
(@ガラ)
ゲスト
結合: 20年前
投稿: 201
Topic starter  

あれこれ、調べてたら、GetDlgCtrlID()で、
ボタンのコントロールIDが見れることがわかりました。
仲澤@失業者さんレスありがとうございました。
void CMyDlg::OnContextMenu(CWnd* pWnd,CPoint point )
{
switch(pWnd->GetDlgCtrlID()) {
case IDC_SIN:
AfxMessageBox(三角関数の斜辺/垂辺を計算する) ;
break ;
case IDC_COS:
AfxMessageBox(三角関数の斜辺/底辺を計算する) ;
break ;
case IDC_TAN:
AfxMessageBox(三角関数の底辺/垂辺を計算する) ;
break ;
}
}


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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