ивенты в Delphi

Форум для программистов

Сообщение najar » Пт май 12, 2006 6:01 pm

Уважаемые господа!
пытаюсь к классу Timage прикрутить ивенты OnMouseIn и OnMouseOut..
вот так
Код: выделить все
                   
type

 TPic = class(TImage)
 private
   { Private declarations }
 
   FOnMouseOut: TNotifyEvent;
   FOnMouseIn: TNotifyEvent;
   procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
   procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
 protected
   { Protected declarations }
 public
   { Public declarations }
 published
   { Published declarations }
   property OnMouseOut: TNotifyEvent read FOnMouseOut write FOnMouseOut;
   property OnMouseIn: TNotifyEvent read FOnMouseIn write FOnMouseIn;
 end;


вот так регистрирую события
Код: выделить все
implementation

procedure TPic.CMMouseEnter(var Message: TMessage);
begin
 if Assigned(FOnMouseIn) then FOnMouseIn(Self);

end;

procedure TPic.CMMouseLeave(var Message: TMessage);
begin
 if Assigned(FOnMouseOut) then FOnMouseOut(Self);


end;
end.

ну и соответственно в другом юните пытаюсь их обработать вот так:
Код: выделить все
type im = TPic;

Код: выделить все
var
 Form1: TForm1;
 kon : TPic;

Код: выделить все
implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
kon:=im.Create(Form1);
kon.Parent:=Form1;
kon.Picture.LoadFromFile('pic/1.bmp');
end;

procedure TForm1.konMouseIn(Sender: Tobject);
begin
kon.Show;
end;


ну и естественно обработчики не работают...
в чем ошибка?
заранее снимаю шляпу....
Последний раз редактировалось najar Пт май 12, 2006 6:03 pm, всего редактировалось 1 раз.
najar
Старшина
 
Сообщений: 58
Зарегистрирован: Ср дек 01, 2004 6:38 pm
Пункты репутации: 0

Сообщение sliderzer0 » Чт июн 29, 2006 7:58 am

Если я не ошибаюсь... Ты же создаешь свойство типа собития. Значит, если ты хочешь, чтобы срабатывало событие, тебе необходимо указать процедуру, которая будет выполняться при его возникновении.
You can stop this individual...
But you can't stop us all!
sliderzer0
Лейтенант
 
Сообщений: 104
Зарегистрирован: Пт май 16, 2003 6:20 pm
Пункты репутации: 0


Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16