у компонента PaintBox хочу процедуру вызываваемую по событию OnPaint заменить на свою процедуру описанную в собственном классе.
как это сделать?
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
| F0b0s |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
у компонента PaintBox хочу процедуру вызываваемую по событию OnPaint заменить на свою процедуру описанную в собственном классе.
как это сделать? |
![]() ![]() |
| F0b0s |
Сообщение
#2
|
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Вообщем сделал вот так:
Код TForm1 = class(TForm) .... procedure PaintBox1Paint(Sender: TObject); end; TMyProc = Procedure (Sender:TObject) of object; TMyClass = class FMyProc: TMyProc; .... end; procedure TForm1.PaintBox1Paint(Sender: TObject); begin // код рисования end; procedure TForm1.FormCreate(Sender: TObject); begin MyClass:=TMyClass.Create; MyClass.FMyProc:= Form1.PaintBox1Paint; PaintBox1.OnPaint:=MyClass.FMyProc; end; Сообщение отредактировано: F0b0s - |
F0b0s Делегирование 14.12.2008 16:28
volvo Наследуй свой класс от TPaintBox и переопределяй (… 14.12.2008 16:52
F0b0s
Наследуй свой класс от TPaintBox и переопределяй … 14.12.2008 17:04
volvo А теперь подумай, метод какого класса ты будешь вы… 14.12.2008 17:12
F0b0s процедура вызываемая по событию OnPaint: procedure… 14.12.2008 17:19
volvo А попробуй вот это:
Procedure TForm1.myPaint(Send… 14.12.2008 17:41
F0b0s желательно извратится с делегированием =) но и на … 14.12.2008 18:05![]() ![]() |
|
Текстовая версия | 5.11.2025 10:37 |