![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как можно определить момент выхода курсора мыши из компонента
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