Рисование рамки окна: как?
От: PanychY  
Дата: 14.01.17 19:51
Оценка:
Приветствую коллеги

Стоит задача такая: сделать окно(диалог) с пользовательским фоном.
Фон рисуется без проблем.
Вот теперь начинаются приключения, связанные с особыми требваниями:
1. Не должно быть стандартной рамки
2. Окно должно быть resizable пользователем
Для этого делаю следующее:
1. Ресурсу диалога выставленно: Caption=False, Frame=Resizing
Нужное поведение измеения размера обеспечено
2. В связи с тем что Frame=Resizing всё-таки рисует рамку, то я обрабатываю WM_NCPAINT и зарисовываю её нужным рисунком
Всё хорошо, но эта гребаная рамка всё-равно рисуется когда надо и не надо, а именно: собсвтенно при изменения размера(после отпускания), а также при активации и делактивации окна.
Пытаюсь это лечить обработкой сообщений
WM_ACTIVATEAPP, WM_WINDOWPOSCHANGED, WM_WINDOWPOSCHANGING, WM_NCACTIVATE, WM_ACTIVATE, WM_MOUSEACTIVATE, WM_SIZE, WM_MOVE,
вызовом RedrawWindow(hDlg, NULL, NULL, RDW_UPDATENOW);
Это лечит почти всё кроме момента активации и декативации.
Может я что-то пропустил?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.