OnMouseEnter and OnMouseLeave don't have anything to do with clicking on the 
window per se; they provide notification when the mouse enters or leaves the 
window's client area; regardless of whether the window has focus.

Here's a simple test I tried:

unit mouseOverU1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TfrmTestMouseOver = class(TForm)
    procedure FormMouseEnter(Sender: TObject);
    procedure FormMouseLeave(Sender: TObject);
  private
    { Private declarations }
  protected
  public
    { Public declarations }
  end;

var
  frmTestMouseOver: TfrmTestMouseOver;

implementation

{$R *.dfm}

{ TfrmTestMouseOver }

procedure TfrmTestMouseOver.FormMouseEnter(Sender: TObject);
begin
  Self.Color := clRed;
end;

procedure TfrmTestMouseOver.FormMouseLeave(Sender: TObject);
begin
  Self.Color := clBtnFace;
end;

end.

The color change works whether or not the window has focus or is partially 
obscured by other windows.

You also get MouseMove events without the window having focus, try something 
like this:

procedure TfrmTestMouseOver.FormMouseMove(Sender: TObject; Shift: TShiftState; 
X, Y: Integer);
begin
  Self.Color := RGB(X mod 255, y mod 255, Random(255));
end;


Does that help any?

Stephen Posey
stephenlpo...@earthlink.net 


-----Original Message-----
>From: Peter Kapas <pka...@sbcglobal.net>
>Sent: Oct 10, 2010 11:38 AM
>To: Moderated List for the Discussion of Delphi Programming
>       excludingDatabase-related topics <delphi@elists.org>
>Subject: Re: Recognition ov application window
>
>Hi Stephen,
>
>Off course, it works if I click on the window. I want to solve the problem,
>when I move Mouse over the window. I am looking for an indicator, where
>I can take the info about the object under the moving cursor.
>
>Similar - what you advise - is the : Form1.Active, but not really that, what 
>I
>am looking for.
>
>Peter
>
>----- Original Message ----- 
>From: "Stephen Posey" <stephenlpo...@earthlink.net>
>To: "Moderated List for the Discussion of Delphi Programming 
>excludingDatabase-related topics" <delphi@elists.org>
>Sent: Saturday, October 09, 2010 4:17 PM
>Subject: Re: Recognition ov application window
>
>
>> Have you tried the OnMouseEnter and OnMouseLeave events?
>>
>> Stephen Posey
>> stephenlpo...@earthlink.net
>>
>>
>> -----Original Message-----
>>>From: Peter Kapas <pka...@sbcglobal.net>
>>>Sent: Oct 9, 2010 10:16 AM
>>>To: Delphi@elists.org
>>>Subject: Re: Recognition ov application window
>>>
>>>Hi Francois,
>>>
>>>Thanks, I already tried it. There are a few standard mouse functions to 
>>>simplify that,
>>>but the major problem is, when the application window is partly covered by 
>>>the other
>>>Windows applications and I cannot mask the area to say "I do not see
>>>my application, set-up indicator to False, if for seeing that is True).
>>>---
>>>Peter
>>>---------------------------
>>>> I would like to find method how to recognize, the mouse is over my
>>>> application window. If that window is partly covered by other 
>>>> application,
>>>> I want to recognize that situation, in other words, that time, I want 
>>>> see
>>>> some indicator, which tells me, between mouse cursor and my application
>>>> window is something. How to do it?  (I am using Delphi 4).
>>>
>>>Just an idea, not tested.
>>>Install a mouse hook to get the mouse movements whatever application is
>>>above your's. Then knowing the area(s) where you application is, you can
>>>compute if the mouse is within or not, even if your app is behind another
>>>other one.
>>>
>>>_______________________________________________
>>>Delphi mailing list
>>>Delphi@elists.org
>>>http://lists.elists.org/cgi-bin/mailman/listinfo/delphi
>>
>> _______________________________________________
>> Delphi mailing list
>> Delphi@elists.org
>> http://lists.elists.org/cgi-bin/mailman/listinfo/delphi 
>
>_______________________________________________
>Delphi mailing list
>Delphi@elists.org
>http://lists.elists.org/cgi-bin/mailman/listinfo/delphi

_______________________________________________
Delphi mailing list
Delphi@elists.org
http://lists.elists.org/cgi-bin/mailman/listinfo/delphi

Reply via email to