Вниз
Скачать: CL | DM;

Перехват сообщения в наследнике.   Найти похожие ветки 

← →
Max4   (2006-09-25 15:15) [0]

есть класс


 TMyClass = class(TCustomControl)
   ***
   protected
     procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
 end;
   ***



***
procedure TSpanGrid2.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 inherited MouseDown(Button, Shift, X,Y);
 ***
end;
***


В Form1 создаю экземпляр TMyClass. Как мне в форме Form1 перехватить MouseDown класса TMyClass ?


← →
clickmaker ©   (2006-09-25 15:17) [1]

inherited MouseDown(Button, Shift, X,Y);
if Assigned(FOnMouseDown) then
 FOnMouseDown(Self, Button, Shift, X, Y);

событие сгенерить, а в форме добавить обработчик


← →
Max4   (2006-09-25 15:21) [2]

Мне что в моём классе TMyClass нужно создавать FOnMouseDown типа TMouseEvent со "всем вытекающим"?


← →
clickmaker ©   (2006-09-25 15:23) [3]


> [2] Max4   (25.09.06 15:21)

а что там такого вытечет?
да и не надо ничего создавать, это уже унаследовано от TControl


← →
Max4   (2006-09-25 15:25) [4]

плин, сорьки. перегрелся видимо. удалите этот пост наф.


← →
Max4   (2006-09-25 15:29) [5]


 TMyClass = class(TCustomControl)
   private
     FOnMouseDown: TMouseEvent;
     procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
   public
     property OnMouseDown: TMouseEvent read FOnMouseDown write FOnMouseDown;

****
procedure TMyClass.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 inherited MouseDown(Button, Shift, X,Y);
 if Assigned(FOnMouseDown) then
   FOnMouseDown(Self, Button, Shift, X, Y);
****



   fMyClass.OnMouseDown := MyClassMouseDown;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
15-1160657889
oldman
2006-10-12 16:58
2006.11.05
Ну вот и все... Как дальше жить?


15-1160889398
cyborg
2006-10-15 09:16
2006.11.05
Толи кони не едут


2-1161249445
pkm
2006-10-19 13:17
2006.11.05
Подскажите пожалуйста


2-1161531049
n0name
2006-10-22 19:30
2006.11.05
Delphi + DLL + printf = magic?


15-1160968833
Slider007
2006-10-16 07:20
2006.11.05
С днем рождения ! 15 октября




   Наверх