Delphi-PRAXiS

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/)
-   -   Listbox ausblenden wenn Klick daneben (https://www.delphipraxis.net/188352-listbox-ausblenden-wenn-klick-daneben.html)

Devil1925 23. Feb 2016 13:12

Listbox ausblenden wenn Klick daneben
 
Hallo Liebe Helfergemeinde,

Ich habe in Delphi XE5 mit Firemonkey Mobile eine Android App zusammengebaut, in welcher ich ein Popup Menü erstellt habe. Dieses habe ich nach dieser Anleitung erstellt.
Jetzt stehe ich vor folgendem Problem: wie kann ich diese Listbox (Welche ja dort als Menü verwendet ist) wieder ausblenden wenn ich irgendwo anders als in die Listbox auf den Bildschirm klicke?

Vielen Dank im Vorraus

Devil

Sir Rufo 23. Feb 2016 13:33

AW: Listbox ausblenden wenn Klick daneben
 
Man klatscht die Listbox auf ein Layout (mit HitTest) und wenn das Layout einen Klick bekommt, dann einfach das Layout wieder ausblenden (damit ist dann auch die Listbox nicht mehr sichtbar)

bra 23. Feb 2016 14:38

AW: Listbox ausblenden wenn Klick daneben
 
Man kann auch die Listbox in ein TPopup schmeissen, dann muss man sich nicht um das Ausblenden kümmern.

Devil1925 23. Feb 2016 15:58

AW: Listbox ausblenden wenn Klick daneben
 
Das mit dem Layout werde ich morgen mal testen, ein TPopup ist scheinbar auf einem Firemonkey Formular für Android nicht möglich.

Oder ich war einfach zu Blöd dazu :o

bra 23. Feb 2016 16:16

AW: Listbox ausblenden wenn Klick daneben
 
Doch, es ist möglich. Wir haben das in unserer App (Windows, iOS und Android) auch über ein TPopup gelöst. Ein/Ausblenden muss man das mit IsOpen := true/false.
Allerdings ist die Positionierung mitunter nicht ganz so trivial.

Devil1925 1. Mär 2016 08:53

AW: Listbox ausblenden wenn Klick daneben
 
Also ich habe es jetzt hinbekommen, die Listbox auf ein TPopup zu setzen, wenn ich es mit
Delphi-Quellcode:
Popup1.IsOpen := True;
anzeige, Blockiert es mir den kompletten rest der Anwendung, und ich komme nur über den Button "Zurück" zurück auf mein Formular. Was mache ich Falsch?

Ich habe auch schon versucht die Eigenschaft "HitTest" von Popup1 auf False zu setzen, allerdings brachte auch dies keine Besserung! Hilfe nehme ich dankend entgegen!

EDIT: Problem Gelöst, ich setze einfach ins Popup1 OnClick Ein
Delphi-Quellcode:
Popup1.IsOpen := False;
Manchmal muss man einfach mal einen Schritt weiter Denken ........


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:39 Uhr.

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