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

Вниз

Пытаюсь рисовать на канве RichEdit. Не получается.   Найти похожие ветки 

 
Alex_C ©   (2006-09-27 11:02) [0]

Делаю так:
DC := GetDC( RichEdit1.Handle );
aCanvas:=TCanvas.Create;
aCanvas.Handle:= DC;
далее работаю с aCanvas - ни ничего не происходит.


 
Игорь Шевченко ©   (2006-09-27 11:05) [1]


> далее работаю с aCanvas - ни ничего не происходит.


а должно ?


 
clickmaker ©   (2006-09-27 11:07) [2]

до первой перерисовки эдита удастся что-то нарисовать.
А потом эдит, не зная просто о твоих художествах, все затрет в своем обработчике WM_PAINT


 
Gydvin ©   (2006-09-27 12:08) [3]

пробуй так

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls, ExtCtrls;

type
 TForm1 = class(TForm)
   RichEdit1: TRichEdit;
   Timer1: TTimer;
   procedure WMNCPaint(richedit:trichedit;a:integer);
   procedure Timer1Timer(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure tform1.WMNCPaint(richedit:trichedit;a:integer);
  var
   dc: hDc;
   Pen: hPen;
   OldPen: hPen;
   OldBrush: hBrush;
   x,x1,y,y1:integer;
 begin
  dc := GetDC(richedit.handle);
   Pen := CreatePen(PS_SOLID, 1, clred);
   OldPen := SelectObject(dc, Pen);
   OldBrush := SelectObject(dc, GetStockObject(NULL_BRUSH));
   x:=richedit.ClientWidth;
   y:=richedit.Clientheight;
   x1:= x div 2;
   y1:= y div 2;
   windows.MoveToEx(dc, 0, 0, nil);
   windows.LineTo(dc, x, y);
   windows.Ellipse(dc,x1 -a,y1 -a,x1+a,y1+a) ;
   SelectObject(dc, OldBrush);
   SelectObject(dc, OldPen);

   DeleteObject(Pen);
   ReleaseDC(dc, dc);
 end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
richedit1.Repaint;
WMNCPaint(richedit1,50);
end;

end.


Вообще-то нужно создать потомка перекрыв стандартный репайнт и сделав его самому



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

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

Наверх




Память: 0.47 MB
Время: 0.051 c
2-1159690837
vain
2006-10-01 12:20
2006.10.15
PNG


15-1158834569
Дмитрий Белькевич
2006-09-21 14:29
2006.10.15
Как заставить win обновить CD каталог после записи?


3-1155541687
Term
2006-08-14 11:48
2006.10.15
Разница в скорости работы хранимой процедуры


4-1147513821
parovoZZ
2006-05-13 13:50
2006.10.15
Криво работает окно в dll при вызове из VCL exe


2-1159183346
vitv
2006-09-25 15:22
2006.10.15
FIBPlus