From: rick@fenestra.com (Rick Rogers (TeamB)) Subject: Re: Capture when the Mouse is not in a control Date: 26 Feb 1999 00:00:00 GMT Message-ID: <36d6b1a4.3946094@forums.borland.com> Content-Transfer-Encoding: 7bit References: <36D6B083.FDC56116@openlink.com.br> Content-Type: text/plain; charset=us-ascii Organization: TeamB Mime-Version: 1.0 Newsgroups: borland.public.delphi.winapi On Fri, 26 Feb 1999 11:32:37 -0300, Leticia wrote: > how can I know when the mouse is not in a control anymore? Provide a handler for the Delphi custom CM_MOUSELEAVE message. Here's an example: unit Mousie; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TMousie = class(TGraphicControl) private FOnMouseEnter: TNotifyEvent; FOnMouseLeave: TNotifyEvent; protected procedure DoMouseEnter; dynamic; procedure DoMouseLeave; dynamic; procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER; procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE; published property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter; property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave; end; procedure Register; implementation procedure TMousie.DoMouseEnter; begin if Assigned(FOnMouseEnter) then FOnMouseEnter(Self); end; procedure TMousie.DoMouseLeave; begin if Assigned(FOnMouseLeave) then FOnMouseLeave(Self); end; procedure TMousie.CMMouseEnter(var Message: TMessage); begin inherited; DoMouseEnter; end; procedure TMousie.CMMouseLeave(var Message: TMessage); begin inherited; DoMouseLeave; end; procedure Register; begin RegisterComponents('Samples', [TMousie]); end; end. -- Rick Rogers (TeamB) | Fenestra Technologies http://www.fenestra.com/