Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Viele OnMouseMove Proceduren | elegantere Lösung (https://www.delphipraxis.net/136384-viele-onmousemove-proceduren-%7C-elegantere-loesung.html)

daniel-h 29. Jun 2009 18:34

Re: Viele OnMouseMove Proceduren | elegantere Lösung
 
:wall: ich habe jetzt dies dort stehen:
Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
var
  point: TPoint;
begin
  GetCursorPos(point);
  if PtInRect(BoundsRect{oder ClientRect, je nachdem},Mouse.CursorPos) then

    form1.Width := 200;
    form1.AlphaBlendValue := 255

  else

    form1.AlphaBlendValue := 1;
    form1.Width := 1;
end;
jetzt zickt der compiler :twisted: :

http://photoservice.ph.funpic.de/bugz.JPG

mfg

DeddyH 29. Jun 2009 18:44

Re: Viele OnMouseMove Proceduren | elegantere Lösung
 
Mehrere Anweisungen schließt man in begin-end ein ;) und GetCursorPos kannst Du Dir sparen.

[edit] Übrigens: wieso machst Du die Prüfung nicht einfach im OnMouseLeave des Formulars? [/edit]

daniel-h 29. Jun 2009 18:58

Re: Viele OnMouseMove Proceduren | elegantere Lösung
 
*duck* wie blöd von mir.
tja, alzheimer lässt grüssen :mrgreen:

add: thanks for support!!

markus5766h 29. Jun 2009 18:59

Re: Viele OnMouseMove Proceduren | elegantere Lösung
 
Hallo,
wenn ich's richtig verstanden habe, liegt Dein Problem darin, dass die
Behandlungsprozedur des Ereignisses MouseLeave auch dann ausgeführt wird,
wenn Du z.B. innerhalb des Formulares mit der Mouse auf ein anderes Control
kommst.
Hierzu kann ich folgenden Lösungsansatz anbieten:
Plaziere Deine Komponenten so, dass Links, Rechts, Oben und Unten ein Rand
von jeweils (sagen wir mal) 8 Pixel frei bleibt. Im MouseLeave-Ereignis
des Formulares prüfst Du nun, ob sich der Mousezeiger innerhalb dieses
"Rahmens" befindet : wenn ja : Formular wieder auf 1 Pixel setzen, wenn nein,
dann ... nichts...

daniel-h 29. Jun 2009 19:00

Re: Viele OnMouseMove Proceduren | elegantere Lösung
 
@ markus5766h: danke für die antwort! aber hat sich erledigt, funzt jetzt einwandfrei.
jetzt geht es um die funktionen meiner toolbar. also: rann an den speck!

mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz