Einzelnen Beitrag anzeigen

Benutzerbild von BMI
BMI

Registriert seit: 16. Jul 2010
58 Beiträge
 
Delphi 2 Desktop
 
#7

AW: [Delphi 5] Form schnappt Mausklicks weg

  Alt 5. Jan 2015, 12:25
Wahh, toll.

ich glaub, ich brauch demnächst 2 oder 3 x 76"Monitore - auf meinem 35"Laptop sieht man nicht alle Funktionen.

ich hab die Form heute morgen in Gedanken immer schnell über den CloseButton verlassen, weshalb mir folgende Funktion nicht auffiel:

Was ich (auch im Code) komplett übersehen hatte, war folgende Funktion (hab die Applikation letzte Woche angefangen) , welche mir ermöglicht zu überprüfen, ob die Maus noch über der Form2 schwebt - oder schon weg ist.
Falls weg, soll sie geschlossen werden.
hab das aus den Tiefen des Internets erwischt.

Aber richtig klar, warum die den Focus ansich zieht ist mir auch nicht.
Machen das Get und SetCapture?

und wie kann ich mir unter Delphi 5 den Luxus erhalten, die Form per Mouse beim Verlassen zu closen?
unter Delphi XE oder so hat man glaub ich: FormHasFocus(), mouseOut() oder sowas.

Delphi-Quellcode:
procedure TMenuForm2.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
warhier := 1;

If GetCapture = 0 then
    SetCapture(self.Handle) ;
    if PtInRect(Rect(self.Left,
                    self.Top,
                    self.Left + self.Width,
                    self.Top + self.Height),
                    ClientToScreen(Point(x, y))) then
     self.Caption := 'Mouse is over form'
    else
begin
    close;
end;
// hide

// self.Caption := 'Mouse is outside of form';
end;
eine Signatur? - in 2022? - WOZU ?!!!
  Mit Zitat antworten Zitat