Как отобразить системное меню во всплывающем окне CDialog?
У меня есть приложение на основе CDialog. В редакторе ресурсов Visual Studio свойства моего диалогового окна показывают, что для стиля установлено значение "Всплывающее окно", а для значения "Системное меню" установлено значение "Истина". Однако, когда я запускаю свое приложение, системное меню отсутствует; как я могу получить системное меню, чтобы показать? Нужно ли сначала устанавливать значок с помощью SetIcon()?
Вот определение моего диалога из файла ресурсов:
IDD_MAIN_DIALOG DIALOGEX 0, 0, 637, 371
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE
| WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_CONTROLPARENT
1 ответ
Решение
Видимо, вам нужен значок для отображения системного меню. Я добавил иконку в свой проект, а затем вызвал следующее в моем методе OnInitDialog():
SetIcon(AfxGetApp()->LoadIcon(IDI_APP_ICON), TRUE);
Теперь у моего приложения есть значок, и когда я щелкаю по нему левой кнопкой мыши, оно показывает системное меню.