Пассивные мелкомякие кнопки
Oct. 20th, 2008 05:03 pmКак всегда пару раз трахнув себя нашел как сделать на WINAPI кнопку которая не выделяется.
Без манифестов.
Стоило мне это довольно жестких душевных терзаний, решение я подозреваю не совсем правильное, но работает.
Итак:
1. Делаем стиль кнопке WS_CHILD | WS_VISIBLE | BS_NOTIFY (тут нужно заметить, что само сообщение WM_NOTIFY не используется)
2. В обработке события WM_COMMAND для notify-кода BN_SETFOCUS шлем окну
SendMessage( (HWND) getHandle(), WM_UPDATEUISTATE, MAKEWPARAM(UIS_SET, UISF_HIDEFOCUS), 0);
Причем на обработку сообщения WM_CHANGEUISTATE дружно забиваем.
Ну и конечно Выражение MAKEWPARAM(UIS_SET, UISF_HIDEFOCUS) означающее ни что иное как "устиновить хайдфокус" довольно порадовало :)
Без манифестов.
Стоило мне это довольно жестких душевных терзаний, решение я подозреваю не совсем правильное, но работает.
Итак:
1. Делаем стиль кнопке WS_CHILD | WS_VISIBLE | BS_NOTIFY (тут нужно заметить, что само сообщение WM_NOTIFY не используется)
2. В обработке события WM_COMMAND для notify-кода BN_SETFOCUS шлем окну
SendMessage( (HWND) getHandle(), WM_UPDATEUISTATE, MAKEWPARAM(UIS_SET, UISF_HIDEFOCUS), 0);
Причем на обработку сообщения WM_CHANGEUISTATE дружно забиваем.
Ну и конечно Выражение MAKEWPARAM(UIS_SET, UISF_HIDEFOCUS) означающее ни что иное как "устиновить хайдфокус" довольно порадовало :)