Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   TPopupMenu schließen bei Verlassen des Mauszeigers (https://www.delphipraxis.net/172050-tpopupmenu-schliessen-bei-verlassen-des-mauszeigers.html)

EWeiss 20. Feb 2017 09:14

AW: TPopupMenu schließen bei Verlassen des Mauszeigers
 
Zitat:

Ich habe Deine Project1.exe ausprobiert, da schließt sich nix ohne klick.
Sorry kann dir jetzt nicht extra ein Video anfertigen um das zu beweisen das es bei mir sehr wohl alleine schließt.
Wenn die Zeit von 100ms überschritten wird und sich die Maus nicht über dem Menü befindet.

DropDownMenu
Mit kleiner Änderung geht das auch.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  PT: TPoint;
begin

  Pt := Button1.ClientToScreen(Point(0, Button1.ClientHeight));
  Button1.DropDownMenu := PopupMenu1;
  Button1.DropDownMenu.Popup(Pt.X ,Pt.y);
end;
Sobald ich auf den Button klicke bleibt das Menü 100ms offen es sei denn die Maus befindet sich auf dem Menü
dann wird es geschlossen sobald die Maus das Menü verlässt.

gruss

stahli 20. Feb 2017 09:50

AW: TPopupMenu schließen bei Verlassen des Mauszeigers
 
Liste der Anhänge anzeigen (Anzahl: 1)
Sowas: http://www.delphipraxis.net/1213706-post18.html ?

Ich hänge mal die Quelle an.
Das stammt aus einem alten FMX-Databinding-Framework. Direkt verwenden kannst Du es so nicht, aber vielleicht taugt es als Anregung.

EWeiss 20. Feb 2017 09:54

AW: TPopupMenu schließen bei Verlassen des Mauszeigers
 
Zitat:

Zitat von stahli (Beitrag 1362124)
Sowas: http://www.delphipraxis.net/1213706-post18.html ?

Ich hänge mal die Quelle an.
Das stammt aus einem alten FMX-Databinding-Framework. Direkt verwenden kannst Du es so nicht, aber vielleicht taugt es als Anregung.

Wo ist das Problem funktioniert mein Beispiel bei dir auch nicht ? LOL.

gruss

stahli 20. Feb 2017 10:26

AW: TPopupMenu schließen bei Verlassen des Mauszeigers
 
Habe ich nicht versucht und ich dachte, Du wolltest den Quelltext nicht rausgeben.
Egal, Kurt kann sich ja das passende raussuchen...

EWeiss 20. Feb 2017 10:28

AW: TPopupMenu schließen bei Verlassen des Mauszeigers
 
Zitat:

Zitat von stahli (Beitrag 1362130)
Habe ich nicht versucht und ich dachte, Du wolltest den Quelltext nicht rausgeben.
Egal, Kurt kann sich ja das passende raussuchen...

Ich meinte den von meiner SkinEngine.
Nicht diesen hier vom Sample.

Aber richtig, kann er ;) (Pfaffe) Kurt interessiert das schon seit Jahren nicht mehr.

gruss

Pfaffe 20. Feb 2017 10:34

AW: TPopupMenu schließen bei Verlassen des Mauszeigers
 
Das letzte Beispiel funktioniert, genauso so wie ich es benötige.
Ich vermute, dass ein Timer im Spiel ist und immer wenn die Maus auf einem Menüeintrag ist, wird der Timer neu gestartet.

EWeiss 20. Feb 2017 10:39

AW: TPopupMenu schließen bei Verlassen des Mauszeigers
 
Zitat:

Zitat von Pfaffe (Beitrag 1362134)
Das letzte Beispiel funktioniert, genauso so wie ich es benötige.
Ich vermute, dass ein Timer im Spiel ist und immer wenn die Maus auf einem Menüeintrag ist, wird der Timer neu gestartet.

Na dann, das erste ging vorher auch.
Hier ist die Quelle, aber nicht das Projekt damit du auch noch was zu tun hast.
Habe es unten angehängt.


bin dann raus aus dem Thread

gruss

Pfaffe 20. Feb 2017 10:51

AW: TPopupMenu schließen bei Verlassen des Mauszeigers
 
SendMessage(PopupMenu1.WindowHandle, WM_IME_KEYDOWN, VK_ESCAPE, 0);
Danke, hast mir sehr geholfen.

EWeiss 20. Feb 2017 10:58

AW: TPopupMenu schließen bei Verlassen des Mauszeigers
 
Zitat:

Zitat von Pfaffe (Beitrag 1362136)
SendMessage(PopupMenu1.WindowHandle, WM_IME_KEYDOWN, VK_ESCAPE, 0);
Danke, hast mir sehr geholfen.

Kein Problem ;)
Das ist der Vorteil wenn man sich mit der WinApi32 auskennt.

Habe den Source doch noch angehängt.
Und die anderen gelöscht.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:17 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