Главная страница
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.047 c
2-1159379107
dreamse
2006-09-27 21:45
2006.10.15
Как вытащить имя файла из пусти без расширения ?


15-1159230644
race1
2006-09-26 04:30
2006.10.15
Запись логов на диск


4-1148035408
watashi
2006-05-19 14:43
2006.10.15
MDIClient и дочерние окна


2-1159036198
PrXaos
2006-09-23 22:29
2006.10.15
WebBrowser


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