Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Проблема с обработкой WM_PAINT в OnMessage   Найти похожие ветки 

 
L`Autour ©   (2008-09-12 09:22) [0]

Суть: прога с двумя панелями, на первой панели есть Memo, который нужно отрисовывать вручную, когда он не в фокусе.

Используя такой код:
function TForm1.MemoValue1Message(var Msg: tagMSG;
 var Rslt: Integer): Boolean;
begin
 Result := False;
 if (Msg.message = WM_PAINT)and
   (Form.ActiveControl <> MemoValue1) then
   //тут пока отрисовки нет
   Result := True;
end;


Получаю проблему с отрисовкой всего содержимого второй панели. Она отрисовывается, только если выполнять перемещение формы.


 
exero ©   (2008-09-12 09:33) [1]

Может быть все же рисовать в OnPaint, как Кладов в своей книжке завещал?


 
L`Autour ©   (2008-09-12 10:32) [2]

Тогда придется в OnPaint делать самому две процедуры отрисовки: по умолчанию (для редактирования) и своей (отрисовка символов уникода в ANSI проге), вместо возможной одной.


 
exero ©   (2008-09-12 10:56) [3]

А сразу Unicode использовать по каким-то причинам нельзя?


 
L`Autour ©   (2008-09-12 11:20) [4]

В 98SE и Me не прокатит.

А с нормальной прорисовкой остальных компонент уже справился. Надо было добавить в обработке WM_PAINT MemoValue1.ValidateRect(Msg.hwnd, nil);



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
2-1269205855
AntonioBanderas
2010-03-22 00:10
2010.08.27
Роли FireBird(2.1.3)


9-1186833611
AlexanderMS
2007-08-11 16:00
2010.08.27
Проблема с прозрачностью.


15-1275856176
Юрий
2010-06-07 00:29
2010.08.27
С днем рождения ! 7 июня 2010 понедельник


15-1270656918
sniknik
2010-04-07 20:15
2010.08.27
Ubuntu 10.4


15-1267432925
boa_kaa
2010-03-01 11:42
2010.08.27
ПМП, а?