1

Windowsで次のようなことができることを知っています:

MessageBox(hWnd, "Yes, No, or Cancel?", "YNCB_YESNOCANCEL);

しかし、ユーザーが押した操作 (「はい」をクリックした場合にウィンドウを閉じるなど) にどのように反応すればよいでしょうか?

4

2 に答える 2

10

MessageBox押されたボタンを参照する整数を返します。前のリンクから:

Return Value
    IDABORT      Abort button was selected.
    IDCANCEL     Cancel button was selected.
    IDCONTINUE   Continue button was selected.
    IDIGNORE     Ignore button was selected.
    IDNO         No button was selected.
    IDOK         OK button was selected.
    IDRETRY      Retry button was selected.
    IDTRYAGAIN   Try Again button was selected.
    IDYES        Yes button was selected.

次のようなものです:

int result = MessageBox(hWnd, "Save work?", MB_YESNOCANCEL);
if (result == IDOK)
{
    // ...
}
else if (result == IDNO)
{
    // ...
}
else // cancel
{
    // ...
}
于 2009-10-19T19:45:59.223 に答える
1
int result = MessageBox(hWnd,_T(""),_T("Save work?"), MB_YESNOCANCEL);
if (result == 6){
    MessageBox(NULL, _T("YES"),_T("Press"),MB_OK);
}
else if (result == 7){
    MessageBox(NULL, _T("NO"),_T("Press"),MB_OK);
}
else{
    MessageBox(NULL, _T("CANCEL"),_T("Press"),MB_OK);
}
于 2014-05-06T11:47:16.843 に答える