2008-10-20

ti_ua: (dark)
2008-10-20 05:03 pm
Entry tags:

Пассивные мелкомякие кнопки

Как всегда пару раз трахнув себя нашел как сделать на 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) означающее ни что иное как "устиновить хайдфокус" довольно порадовало :)