Меню довольно популярны во многих приложениях:
Я прочитал много тем и узнал, как добавить строку меню в ваш графический интерфейс:
//Pseudocode
//..RegisterClassEx
HMENU Menu = CreateMenu();
HMENU Tools = CreateMenu();
AppendMenu(Menu, MF_POPUP, (UINT_PTR)Tools, L"Tools");
AppendMenu(Tools, MF_STRING, 1, L"Test");
SetMenu(hwnd_to_gui, Menu);
//...
//..GetMessage
//..TranslateMessage
//..DispatchMessage
Сначала вы регистрируете RegisterClassEx в своей структуре WNDCLASSEX, которая имеет свойство с именем «lpfnWndProc», которое указывает на функцию, вызываемую при вызове DispatchMessage. Затем вы фактически создаете строку меню. Наконец, вы устанавливаете цикл, который вызывает GetMessage, и, если сообщение получено, оно будет транслировать и отправлять его, эффективно вызывая функцию lpfnWndProc.
Мне было интересно, если вы могли бы сделать это с уже существующим графическим интерфейсом. Например, консольное приложение. Я знаю, что могу легко настроить строку меню, но мне кажется, что обработка ввода затруднительна.
Консольное приложение с добавленной строкой меню
У меня есть цикл, который вызывает GetMessage, однако он, кажется, не принимает ввода.
Дополнительная информация:
Любая помощь о том, как я буду делать это?
Задача ещё не решена.
Других решений пока нет …