Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Проблема с обработкой 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 вся ветка

Форум: "KOL";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.069 c
2-1272475993
DROWSY
2010-04-28 21:33
2010.08.27
редактирование в гриде.


15-1270622504
bss
2010-04-07 10:41
2010.08.27
Глюки Miranda...


2-1272353381
Tima
2010-04-27 11:29
2010.08.27
Путь к файлу библиотеки по открытому хэндлу


15-1269576375
Джони
2010-03-26 07:06
2010.08.27
Командная строка и URL запрос


15-1271696488
sniknik
2010-04-19 21:01
2010.08.27
Кодировки в RSS.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский