WinApi Не работают кнопки, у которых HMENU не равно 0
начал разбираться с WinApi, но стакнулся с странной проблемой. Я создаю матрицу из кнопок с помощью цикла. При нажатии кнопки меняют надпись, но это работает только на кнопки с HMENU равным NULL. Остальные игнорируются. Много искал на форумах и экспериментировал, но не смог понять почему так. Код цикла, где я создаю кнопки:
HWND buttons[MAXL * MAXE];
for (int j = 0; j < MAXL; j++)
{
for (int i = 0; i < MAXE; i++)
{
int x = 0;
int y = 0;
int size = 60;
int fix = 5;
static int ID_T = -1;
buttons[j * MAXE + i] = CreateWindow(
L"button",
L"0",
WS_VISIBLE | WS_CHILD,
x + (size * countBut) + (fix * countBut), (y + size + fix) * j, size, size,
hwnd,
(HMENU)ID_T,
(HINSTANCE)GetWindowLongPtr(hwnd, GWLP_HINSTANCE),
NULL
);
countBut++;
ID_T++;
if (buttons[j * MAXE + i] == NULL) return -1;
}
countBut = 0;
}
Странно, но я нашёл решение через 10 минут после того как выложил пост. В обработчике WM_COMMAND во внутреннем операторе switch поменял LOWORD(wParam) на HIWORD(wParam).