Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как можно определить момент выхода курсора мыши из компонента


Страницы:   1 2

TeNY ©   (2004-10-03 17:35:00) 

Как можно определить момент выхода курсора мыши из компонента


AlexV   (2004-10-04 09:40:00) [21]

Спасибо ЮЮ
:-)


ЮЮ   (2004-10-04 09:13:00) [22]



unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TMemo = class(StdCtrls.TMemo)
 private
   FOnMouseLeave: TNotifyEvent;
   FOnMouseEnter: TNotifyEvent;

   procedure CMMouseEnter(var Msg : TMessage); message CM_MouseEnter;
   procedure CMMouseLeave(var Msg : TMessage); message CM_MouseLeave;
 public
   property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
   property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
 end;

 TForm1 = class(TForm)
   Memo1: TMemo;
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
   procedure Memo1OnMouseEnter(Sender: TObject);
   procedure Memo1OnMouseLeave(Sender: TObject);
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

{ TMemo }

procedure TMemo.CMMouseEnter(var Msg: TMessage);
begin
 if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);
end;

procedure TMemo.CMMouseLeave(var Msg: TMessage);
begin
 if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
end;

procedure TForm1.Memo1OnMouseLeave(Sender: TObject);
begin
 Caption := '... и выходит';
 Memo1.Lines.Add('замечательно выходит');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Memo1.OnMouseEnter := Memo1OnMouseEnter;
 Memo1.OnMouseLeave := Memo1OnMouseLeave;
end;

procedure TForm1.Memo1OnMouseEnter(Sender: TObject);
begin
 Caption := 'Входит ...';
end;

end.


AlexV   (2004-10-04 08:56:00) [23]

Ну не знаю, как это делать, что теперь :-(


piople   (2004-10-04 08:54:00) [24]

Удалено модератором


AlexV   (2004-10-04 08:51:00) [25]

Вот это меня и интересует, как именно создать этот обработчик не для формы, а для Memo.


Wish   (2004-10-04 08:43:00) [26]

Наверху же все написанно, просто подставб свой TMemo и наслаждайся жизнью! =)


piople   (2004-10-04 08:43:00) [27]


> AlexV

Создать данный обработчик события для Memo, который лежит на Form1 ;))))


AlexV   (2004-10-04 08:39:00) [28]

А как обработать выход курсора мыши не из формы, а из некоторого другого компоненты, например, memo, который лежит на форме Form1


TeNY   (2004-10-04 05:57:00) [29]

Спасибо!


Zeqfreed   (2004-10-03 19:40:00) [30]


TForm1 = class(TForm)...
private
procedure CMMouseLeave(var Msg : TMessage); message CM_MouseLeave;
...

procedure TForm1.CMMouseLeave(var Msg : TMessage);
begin
//Здесь твои действия
end;


Писал наизусть... если что не так, извиняй ;)


KilkennyCat   (2004-10-03 19:39:00) [31]


> TeNY ©   (03.10.04 19:36) [3]


вот в исходник компонента кнопки и добавляем... но лучше написать свой, отталкиваясь от стандартной кнопки.


KilkennyCat   (2004-10-03 19:38:00) [32]

добавляем

procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;


TeNY   (2004-10-03 19:36:00) [33]

Ни у одной кнопки нет события MouseLeave или CMMouseLeave


TeNY   (2004-10-03 18:45:00) [34]

А подробнее пожалуйста...
:(


Рыба   (2004-10-03 18:07:00) [35]

CMMouseLeave


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо