MFC 6.0 XP
ダイアログにリソースエディタで、ボタンを貼り付けて、
左ボタンで機能実行。右ボタンでどのような機能が実行されるのか説明したいのです
が、クラスウィザードをあけて、そのボタンのメーセージをみると、
BN_CLICKED,BN_DOUBLECLICKEDの設定しかありません。
BN_RIGHTCLICEDみたいなものを想像していたのですが、右クリックは設定できない?の
でしょうか?
右クリックされるとWM_CONTEXTMENUメッセージが親のDLGにくるはずです。
DLGで、このメッセージをハンドリングしてください。
仲澤@失業者さん、レスありがとうございます。いつもすみません。
WM_CONTEXTMENUをハンドリングして、
void CMyDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
pWnd->MessageBox(I'm a Girl. 25 Years old.) ;
}
とハンドリングしてみましたが、どのボタンの上で右クリックが押されたのか、わから
ないのですが、判別する方法はないでしょうか?
あれこれ、調べてたら、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 ;
}
}