Я пытаюсь запустить графический интерфейс для приложения C ++, но у меня проблема с событиями нажатия клавиш.В принципе, все работает нормально, пока я не нажимаю на какие-либо кнопки (главное окно регистрирует ключевые события), но как только я нажимаю на кнопку, главное окно теряет фокус и больше не фиксирует ключевые события.Это может быть глупый вопрос, но я очень плохо знаком с C ++.Вот часть кода, который я использую:
Создание главного окна:
hwnd = CreateWindowEx (
0, /* Extended possibilites for variation */
szClassName, /* Classname */
"Application Name", /* Title Text */
WS_OVERLAPPEDWINDOW, /* default window */
CW_USEDEFAULT, /* Windows decides the position */
CW_USEDEFAULT, /* where the window ends up on the screen */
540, /* The programs width */
250, /* and height in pixels */
HWND_DESKTOP, /* The window is a child-window to desktop */
NULL, /* No menu */
hThisInstance, /* Program Instance handler */
NULL /* No Window Creation data */
);
Создание одной из кнопок:
CreateWindow(TEXT("button"), TEXT("Start"),
WS_VISIBLE | WS_CHILD,
x, y, width, height,
hwnd, (HMENU) 6, NULL, NULL);
У меня также естьзаметил, что всякий раз, когда я нажимаю на кнопку, происходит событие WM_KILLFOCUS
, поэтому я считаю, что это главный вопрос.Я также попытался захватить событие WM_KILLFOCUS, а затем снова установить фокус с помощью SetActiveWindow
, но это привело к сбою моей программы.
Любая помощь будет принята:)