Как узнать, что мышь вошла в область компонента
type TMouseButton = class (TButton) protected { ... } fMouseOut, fMouseOver: TNotifyEvent; { ... } procedure CMMouseEnter( var Message: TMessage); message CM_MOUSEENTER; procedure CMMouseLeave( var Message: TMessage); message CM_MOUSELEAVE; published { ... } property OnMouseOut: TNotifyEvent read fMouseOut write fMouseOut; property OnMouseOver: TNotifyEvent read fMouseOver write fMouseOver; end ; { ... } // Вызываем OnMouseEnter если что-то назначено procedure TMouseButton . CMMouseEnter( var Message: TMessage); begin if Assigned(fMouseOver) then OnMouseOver(Self); Message . Result := 1 ; // Отмечаем сообщение end ; { ... } // Вызываем OnMouseLeave если что-то назначено procedure TMouseButton . CMMouseLeave( var Message: TMessage); begin if Assigned(fMouseOut) then OnMouseOut(Self); Message . Result := 1 ; // Отмечаем сообщение end ; |
Комментарии