Нажата кнопка окна сообщений c++ win32 API


Я только начал изучать, как программировать графический интерфейс Windows, используя низкоуровневый Win32 API и C++, поэтому, пожалуйста, потерпите меня.

У меня есть окно сообщения, которое отображается в одной точке, и, как вы можете видеть ниже, оно установлено в поле OK / Cancel

    MessageBox(hWnd, L"Hello", L"Caption", MB_OKCANCEL);
Мой вопрос в том, как вы проверяете, какая из двух (или, возможно, больше) кнопок была нажата и действуете соответственно?

Спасибо

Том

4 2

4 ответа:

Посмотрите на описаниеMessageBox . Возвращаемый тип - это значение нажатой кнопки. Например, IDOK , когда пользователь нажал кнопку "OK".

Вы можете использовать

int msgboxID=MessageBox(NULL, "DOCTOR WHO","BBC", MB_OKCANCEL | MB_DEFBUTTON2);
switch(msgboxID){
    case IDCANCEL:// you check msdn for more cases
     {
     PostQuitMessage(0);
     return 0;
     }


               }

Http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505 (v=против 85).aspx

Вызов

MessageBox() возвращает целочисленное значение, обеспечивающее значение нажатой кнопки.

Http://msdn.microsoft.com/en-us/library/ms645505 (v=против 85).aspx

Гм, поиск в Google для MessageBox дает ссылкуна документацию Microsoft . Взгляните на раздел "возвращаемое значение". Это поможет?