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

Вниз

как это работает?   Найти похожие ветки 

 
Dmitry_177   (2008-04-30 22:39) [0]

мне понадобилось в TPanel добавить событие OnPaint, чтобы в нем отрисовывать панель.. в интернете нашел вот такой способ:

type
 TPanel = class(ExtCtrls.TPanel)
 private
   FOnPaint: TNotifyEvent;
 protected
   procedure Paint; override;
 public
   property Canvas;
   property OnPaint: TNotifyEvent read FOnPaint write FOnPaint;
 end;

 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
   procedure PanelPaint(Sender: TObject);
 end;

...

procedure TPanel.Paint;
begin
 inherited;
 if Assigned(OnPaint) then OnPaint(Self);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel1.OnPaint := PanelPaint;
end;

procedure TForm1.PanelPaint(Sender: TObject);
begin
Panel1.Canvas.TextOut(100, 100, "тест");
end;


На форму кинул обычную панель.. Но вот как это работает не пойму..


 
korneley ©   (2008-04-30 22:45) [1]

Метод, кстати, спорный. Есть апологеты и наоборот. А работает просто - кто последний имя типа определил, тот и "папа" :)


 
Dmitry_177   (2008-04-30 22:47) [2]


> А работает просто - кто последний имя типа определил, тот
> и "папа" :)


наверно все же лучше компонентом слеть? как вы считаете?


 
DVM ©   (2008-04-30 22:51) [3]


> наверно все же лучше компонентом слеть?

Лучше конечно, а то этот способ выше чреват путаницей. А чтобы не инсталлить компонент в процессе разработки по сто раз, его лучше создавать в рунтайм для проверки.



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
2-1209223625
Sofronov
2008-04-26 19:27
2008.05.25
Как создать/перенести в Word таблицу с данными?


2-1209241078
gamez
2008-04-27 00:17
2008.05.25
Возведение в степень


15-1207649909
No_Dead
2008-04-08 14:18
2008.05.25
Мы стали слабее?%>


15-1208164862
Ega23
2008-04-14 13:21
2008.05.25
Кто имел дело с разработкой FastCGI на C/C++ или даже Delphi


6-1186842019
Андрей Л.
2007-08-11 18:20
2008.05.25
Indy Delphi Добавление записи в базу