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

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

Как сделать у 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)


Наверх

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