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/)
-   -   Delphi dynamische Menüs und Untermenüs unchecken? (https://www.delphipraxis.net/140811-dynamische-menues-und-untermenues-unchecken.html)

Stecky2000 26. Sep 2009 11:40


dynamische Menüs und Untermenüs unchecken?
 
Hi ,

ich erstelle in meine Programm zur Laufzeit 4 Menües mit Untermenüs, sprich
Menu1...............Menu2...............Menu3..... ..........Menu4
Menu1_Item1...Menu2_Item1...Menu3_Item1...Menu4_It em1
Menu1_Item2...Menu2_Item2...Menu3_Item1...Menu4_It em1
Menu1_Item3...Menu2_Item3...Menu3_Item1...Menu4_It em1
Menu1_Item4...Menu2_Item4...Menu3_Item1...Menu4_It em1

Wenn ich ein Untermenü dann anklicke und eine endsprechende Funktionalität ausführe,
kann ich mit

Delphi-Quellcode:
(Sender as TMenuItem).Checked := True;
einen Haken beim angeklickten Untermenüpunkt setzen.

Doch wie bekomme ich den wieder raus?
Wenn ich wieder auf ein anderen Menüpunktklicke dann ist bei (Sender as TMenuItem)
ja der Zeiger(Index) auf den neu angeklickten Menüpunkt gesetzt also

funktioniert

Delphi-Quellcode:
(Sender as TMenuItem).Checked := False;
nicht.

Weis jemand einen Lösungsweg?

DeddyH 26. Sep 2009 11:55

Re: dynamische Menüs und Untermenüs unchecken?
 
Merk Dir doch einfach das zuletzt gecheckte MenuItem.
Delphi-Quellcode:
...
  private
    FCurrentItem: TMenuItem;
...

if Assigned(FCurrentItem) then
  FCurrentItem.Checked := false;
FCurrentItem := Sender as TMenuItem;
FCurrentItem.Checked := true;
Ungetestet.

Stecky2000 26. Sep 2009 19:28

Re: dynamische Menüs und Untermenüs unchecken?
 
Also Danke erstmal, das funktioniert so 1:1.

Ich wollte noch eine Verständnisfrage stellen, doch beim Schreiben hab ich es begriffen wie das ganze funktioniert.
Eigentlich sehr einfach, wenn man es weis :-D

Nochmals vielen Dank!


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