DoModalを利用してIDOK、IDCANCEL以外の戻り値を返す – プログラミング – Home

DoModalを利用してIDOK、ID...
 
通知
すべてクリア

[解決済] DoModalを利用してIDOK、IDCANCEL以外の戻り値を返す


miniK
 miniK
(@miniK)
ゲスト
結合: 20年前
投稿: 5
Topic starter  

MFC VC++6.0 WinXP sp2

DoModalを利用してIDOK、IDCANCEL以外の戻り値を返すことは可能でしょうか?

下のサンプルは、MyOverWriteDlgを構築して終了したときのメッセージを受け取る
サンプルです。
しかし、実際はIDOKとIDCANCELでしかメッセージを受け取れません。
IDC_BUTTON_ALL_WRITEは上書き保存ボタンを押下して終了したボタンIDです。
IDC_BUTTON_NOはいいえボタンを押下して終了したボタンIDです。
これらの二つはメッセージとして受け取れません。
どうすればよいでしょうか?

OverWriteDlg MyOverWriteDlg;
int result = MyOverWriteDlg.DoModal();

switch(result){

case IDOK: // OKボタン押下

finder.Close();
return true;
case IDCANCEL: // キャンセルボタン押下時
finder.Close();
return false;
case IDC_BUTTON_ALL_WRITE: // 全て上書きを押下時
finder.Close();
return true;
case IDC_BUTTON_NO: // いいえを押下時
finder.Close();
return false;
}


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

CDialog::EndDialog() が使えるでしょう。
マニュアルを読んでください。


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

無事できました。
επιστημηさんありがとうございました。

void OverWriteDlg::OnButtonAllWrite()
{
// エンドダイアログでIDC_BUTTON_ALL_WRITEを引数にして終了
EndDialog(IDC_BUTTON_ALL_WRITE);
}


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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