Как отобразить системное меню во всплывающем окне CDialog? - PullRequest
0 голосов
/ 05 октября 2011

У меня есть приложение на основе 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 Ответ

0 голосов
/ 05 октября 2011

Видимо, вам нужен значок для отображения системного меню.Я добавил ресурс значков в свой проект и затем вызвал следующее в моем методе OnInitDialog ():

SetIcon(AfxGetApp()->LoadIcon(IDI_APP_ICON), TRUE);

Теперь у моего приложения есть значок, и когда я щелкаю по нему левой кнопкой мыши, оно показывает системное меню.

...