![]() |
Popup Menu - Untereinträge hinzufügen und löschen
Hi Leute, :)
ich möchte zu einem PopupMenu die Untereinträge dynamisch hinzufügen und dann wieder löschen. Mit dem Hinzufügen klappt's:
Delphi-Quellcode:
Aber wenn ich die Untereiträge mit z. B. diesem Code lösche:
var NewItem : TMenuItem;
for i:=0 to Query1.RecordCount-1 do begin NewItem := TMenuItem.Create(Self); NewItem.Caption:=Query1Feld1.AsString; MenuItem1.Add(NewItem); Query1.Next; end;
Delphi-Quellcode:
bekomme ich eine Fehlermeldung "Menu außerhalb des zulässigen Bereichs".
for i:=0 to Query1.Count-1 do
begin MenuItem1.Items[i].Clear; NewItem.Free; end; Ich habe schon auch die andere Möglichkeiten ausprobiert. Vielleicht ist es einfach, aber ich komme nicht drauf. :oops: Danke schon mal für alle Vorschläge! :) [edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit] |
Re: Popup Menu - Untereinträge hinzufügen und löschen
Das sollte alle Items aus einem Untermenu (oder Hauptmenu) löschen:
Delphi-Quellcode:
Hoffe das hilft ;-)
while SubMenu.Count > 1 do
begin SubMenu.Items[SubMenu.Count-1].Free; end; |
Re: Popup Menu - Untereinträge hinzufügen und löschen
Super, es funktioniert! :D
Ich habe nur geändert -> SubMenu.Count > 0. Vielen Dank! :hi: |
Re: Popup Menu - Untereinträge hinzufügen und löschen
Hallo,
ich baue auch dynamische PopUps. Aber ich benutze dafür TActions. Und dort ist auch die enabled-Eigenschaft gespeichert. Stehen alle auf enabled=true, aber bleiben grau ! Auch dann, wenn ich entweder -explizit die menuitem.enabled:=true setze, oder -TAction.enabled:=true setze Es will einfach nicht enablen ! Weiss jemand, wie man das hinkriegt ? GRuss, ST2000 :freak: |
Re: Popup Menu - Untereinträge hinzufügen und löschen
Hallo, Alarm zurück, habs gefunden.
Lag nur daran, daß ich erstmal keine Eventhandler programmiert hatte. Das veranlasst die TActions -ohne daß dies in der Hilfe dokumentiert wäre, oder einen Hint auslösen würde, grrrrr :-( - dazu, trotz enabled=true-setting keinen Mucks zu "sagen".... Gruss, ST2000 :party: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz