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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
2-1160732461
vigo_
2006-10-13 13:41
2006.10.29
правильный поиск в строке


4-1150216045
inri13666
2006-06-13 20:27
2006.10.29
Hook на закрытие окна


1-1158261697
oxffff
2006-09-14 23:21
2006.10.29
ВDS 2006 тоже не поддерживает custom variant byRef


15-1159955099
IMHO
2006-10-04 13:44
2006.10.29
3gp


1-1158389655
mefodiy
2006-09-16 10:54
2006.10.29
Перехват нажатия кнопок pgup и pgdn формой, а не combobox