Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#28

Re: Form schließen wenn Mauszeiger d.Form verläßt ?

  Alt 25. Jun 2004, 13:08
Ok, ich dachte, weil...
Zitat von Vader:
ich möchte gerne das die form geschlossen wird wenn ich mit dem mauszeiger die form verlasse.
Dann musste folgendes machen:
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private-Deklarationen }
    PopupForm: TForm;
  public
    { Public-Deklarationen }
    procedure WndProc(var Message: TMessage); override;
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  Point: TPoint;
begin
  if not Assigned(PopupForm) then
    PopupForm := TForm2.Create(Self);
  with PopupForm do
  begin
    Point.X := Button1.Left;
    Point.Y := Button1.Top + Button1.Height;
    Point := Self.ClientToScreen(Point);
    Left := Point.X;
    Top := Point.Y;
    Show;
  end;
end;

procedure TForm1.WndProc(var Message: TMessage);
begin
  if Message.Msg = CM_MOUSELEAVE then
    if Assigned(PopupForm) then
      if (Message.LParam = Longint(Button1)) then
        FreeAndNil(PopupForm);
  inherited;
end;

end.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat