![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать у Button что-то на подобие у Label OnMouseLeave? [D6, D7, WinXP]
Максим © (2004-07-09 10:20:00)Помогите, пожалуйста! Знаете у Label есть событие OnMouseLeave. Как сделать подобное у Button? Хочу, чтобы при убирании мышки с кнопки менялась картинка.
ssk (2004-07-09 11:03:00) [1]>Хочу, чтобы при убирании мышки с кнопки менялась картинка
то есть ты используешь не TButton, а TBitBtn?
вот держи компонентик...
unit sskBitBtn;
interface
uses
Controls, Classes, StdCtrls, Buttons, Messages;
type
TsskBitBtn = class(TBitBtn)
private
FOnMouseLeave: TNotifyEvent;
FOnMouseEnter: TNotifyEvent;
procedure CMMouseEnter(var msg: TMessage);
message CM_MOUSEENTER;
procedure CMMouseLeave(var msg: TMessage);
message CM_MOUSELEAVE;
protected
procedure DoMouseEnter; dynamic;
procedure DoMouseLeave; dynamic;
published
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('ssk Components', [TsskBitBtn]);
end;
procedure TsskBitBtn.CMMouseEnter(var msg: TMessage);
begin
DoMouseEnter;
end;
procedure TsskBitBtn.CMMouseLeave(var msg: TMessage);
begin
DoMouseLeave;
end;
procedure TsskBitBtn.DoMouseEnter;
begin
if Assigned(FOnMouseEnter) then
FOnMouseEnter(Self);
end;
procedure TsskBitBtn.DoMouseLeave;
begin
if Assigned(FOnMouseLeave) then
FOnMouseLeave(Self);
end;
end.
TUser (2004-07-09 10:52:00) [2]Или обрабатывать OnMouseMove формы и следить за мышкой.
_ALEXey_ (2004-07-09 10:50:00) [3]НаписАть обработчик сообщения CM_MOUSELEAVE (CM_MOUSEENTER)