Радиокнопки и флажок перекрасить

У меня проблема с переключателями WinAPI. В основном у меня их три, и когда я переключаюсь с одного на другой, старый проверяется до тех пор, пока я не наведу на него курсор мыши или еще раз не нажму кнопку, которую нажимал ранее. Я попытался сделать недействительными оба элемента управления - и все окно. У меня похожая проблема с флажками в том же диалоге - я должен навести на них курсор, чтобы увидеть их реальное состояние.

РЕДАКТИРОВАТЬ:

Это делается, когда выбрана каждая кнопка (примечание 1011 ... 1013 - это идентификаторы переключателей):

RECT rect;
BringWindowToTop(GetDlgItem(hwnd, 1011));
GetClientRect(GetDlgItem(hwnd, 1011), &rect);
InvalidateRect(GetDlgItem(hwnd, 1011), &rect, TRUE);
RedrawWindow(GetDlgItem(hwnd, 1011), &rect, NULL, RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

BringWindowToTop(GetDlgItem(hwnd, 1012));
GetClientRect(GetDlgItem(hwnd, 1012), &rect);
InvalidateRect(GetDlgItem(hwnd, 1012), &rect, TRUE);
RedrawWindow(GetDlgItem(hwnd, 1012), &rect, NULL, RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

BringWindowToTop(GetDlgItem(hwnd, 1013));
GetClientRect(GetDlgItem(hwnd, 1013), &rect);
InvalidateRect(GetDlgItem(hwnd, 1013), &rect, TRUE);
RedrawWindow(GetDlgItem(hwnd, 1013), &rect, NULL, RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

Я также попытался отправить сообщение WM_PAINT и вызвать UpdateWindow() для обоих - всего окна и каждой радиокнопки - безрезультатно.

0 ответов

Другие вопросы по тегам