0

ユーザーが「はい」または「いいえ」をクリックしたときに、この MessageBox() が何をしたいかを調整するという問題がありました。

これが私の擬似コードであり、私が何を意味するかを示しています:

MessageBox(0,"Click \"Yes\" or \"No\".","A MessageBox() Example",4);
    if(TheUserClickedYes){
        //Do something
    }else if(TheUserClickedNo){
       // Do Something else
    }

最後のパラメーターの 4 は、「はい」または「いいえ」ボタンを表示します。ボックスを表示することはできますが、ボタンを調整しようとすると、その方法がわかりません。Google で検索してみましたが、結果に表示されたのは C++ または C# だけでした。私はCでやろうとしています。よろしくお願いします。

4

2 に答える 2

2

成功した場合、 MessageBoxはどのボタンがクリックされたかを示す整数を返します。

数値をハードコーディングする代わりに、適切な定数を使用するようにコードを書き直します。

switch (MessageBox(NULL, TEXT("Click \"Yes\" or \"No\".", TEXT("A MessageBox() Example"), MB_YESNO)) {
case IDYES:
    MessageBox(NULL, TEXT("Yes!"), TEXT("Yes"), MB_OK);
    break;
case IDNO:
    MessageBox(NULL, TEXT("No!"), TEXT("No"), MB_OK);
    break;
default:
    /* An error occurred. */
}

API を使用する前に、使用している API のドキュメントをよく読んでください。

于 2013-06-17T04:03:46.153 に答える
0

MessageBoxどのユーザーがクリックしたかを示す整数の結果があります。

可能な戻り値については、ドキュメントを参照してください: http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx

また、4代わりに使用することMB_YESNOはあまり良いスタイルではありません。

于 2013-06-16T21:21:48.310 に答える