|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
windows 8.1 и WM_PAINT
Здравствуйте.
Возник вопрос и ни как не получается его решить У меня Windows 8.1 x64 + Delphi XE8 Хотел у Form.caption изменить шрифт, но процедуры : procedure WMNCPaint(var Msg: TWMNCPaint); message WM_NCPAINT; procedure WMPaint(var Msg: TWMPaint); message WM_PAINT; procedure WMACTIVATE(var Message : TWMActivate); message WM_ACTIVATE; procedure WMSize(var Msg: TWMSIZE); message WM_SIZE; не работают. Я, так понимаю windows 8.1 их заглушает, т.е. запросы выполняются, но после windows делает свою перерисовку. И ничего не получается. Объясните как правильно сделать, пожалуйста (Замучился уже), что бы работали: WM_PAINT, WM_ACTIVATE.... |
#2
|
||||
|
||||
Возможно для "обмана оськи" нужно возвращать нулевой результат, напр. Msg = 0 или Message = 0
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
||||
|
||||
Цитата:
Вот смотрите если запустить следующий код: Цитата:
Хотя на меньших версия windows все нормально. |
#4
|
||||
|
||||
Так понимаю вариантов нет ?
|
#5
|
|||
|
|||
Ну, тебе выше написали, что у Mes надо выставить флаг, что ты сообщение обработал:
Код:
Mes.Result := 1; PS. Не факт, что поможет. возможно, надо курить МСДН на тему обработки этих сообщений в Win8/8.1/10, может они там все нафиг поменяли (например, теперь рамку окна отрисовывает система, в соотв, сообщения вообще окну не посылаются). |