Главная страница
    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.45 MB
Время: 0.05 c
2-1159510933
vodvorezlaya
2006-09-29 10:22
2006.10.15
Как сделать закрытие формы по нажатию Esc?


15-1159249195
Новичоккк
2006-09-26 09:39
2006.10.15
Вопрос по FastScript


15-1159037200
MAster_
2006-09-23 22:46
2006.10.15
Подскажите пож. как сделать для своей программы Skin


2-1158566852
vodvorezlaya
2006-09-18 12:07
2006.10.15
Как опросить не существующие контролы?


2-1159188905
Crazy monkey
2006-09-25 16:55
2006.10.15
Курсы $ и евро.





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