Нажата кнопка окна сообщений c++ win32 API
Я только начал изучать, как программировать графический интерфейс Windows, используя низкоуровневый Win32 API и C++, поэтому, пожалуйста, потерпите меня.
У меня есть окно сообщения, которое отображается в одной точке, и, как вы можете видеть ниже, оно установлено в поле OK / Cancel
MessageBox(hWnd, L"Hello", L"Caption", MB_OKCANCEL);
Мой вопрос в том, как вы проверяете, какая из двух (или, возможно, больше) кнопок была нажата и действуете соответственно?
Спасибо
Том
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 . Взгляните на раздел "возвращаемое значение". Это поможет?