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

Вниз

TMemo и DoubleBuffered проблема   Найти похожие ветки 

 
Alex_C ©   (2006-10-12 15:51) [0]

Мне надо создать потомок от TMemo c измененным WMPaint. При использовании DoubleBuffered:= False - все без проблем как в факах, но при этом мемо естественно мерцает при перерисовке. При выставлении св-ва DoubleBuffered := true - мемо перестает закрашивать свободную от надписей клиенткую область. Как этого избежать?
Вот пример моего WMPaint (взят из примера):

procedure TMyMemo.WMPaint(var Message: TWMPaint);
var
   i, dy : Integer;
   PS:TPaintStruct;
   DC:HDC;
   aCanvas: TCanvas;
begin
   DC:= Message.DC;
   if DC= 0 then
       DC:= BeginPaint(Handle, PS);
   aCanvas:=TCanvas.Create;
   try
       aCanvas.Handle:= DC;
       aCanvas.Font:= Font;

// Если вот сюда поставить aCanvas.FillRec, то все закрашивается,
// но естественно начинает сильно мерцать.

       with aCanvas do
       begin
           dy := 1;
           for i:= 0 to Lines.Count-1 do
           begin
               if (i mod 2) = 0 then
                   Font.Color:= clBlue
               else
                   Font.Color:= clBlack;
               TextOut(1, dy, Lines[i]);
               dy:= dy+ TextHeight("X");
           end;
       end;
   finally
       if Message.DC = 0 then EndPaint(Handle, PS);
       aCanvas.Free;
   end;
end;


 
Ketmar ©   (2006-10-12 17:05) [1]

интересно, а почему не взять richedit? в твоём коде как минимум одна ошибка -- попробуй выделить текст. что будет с выделением? и вообще -- если уж ВСЁ рисуешь руками -- так и рисуй себе на битмап, а потом битмап выводи.



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

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

Наверх




Память: 0.45 MB
Время: 0.048 c
2-1160447676
zlodey
2006-10-10 06:34
2006.10.29
Помогите разобраться


2-1160829897
Sorvanets
2006-10-14 16:44
2006.10.29
Нужна программа тестирования


15-1160105487
MBo
2006-10-06 07:31
2006.10.29
О Delphi 2007 aka Highlander


2-1160647400
Officeman
2006-10-12 14:03
2006.10.29
как закачать картинку с помощью idhttp1


2-1160472137
RebroFF
2006-10-10 13:22
2006.10.29
LookUp в Fast Report





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский