Einzelnen Beitrag anzeigen

tofse

Registriert seit: 6. Jun 2011
Ort: Saarlouis
131 Beiträge
 
Delphi XE Professional
 
#1

TActionMainMenuBar -> Eintrag dynamisch -> Haupt Item bleibt deaktiv

  Alt 13. Dez 2012, 10:10
Hallo,
ich habe eine TActionMainMenuBar. Der Menüeintrag "Extra" soll dynamisch mit einem Untermenü befüllt werden.
Diesen Testcode verwende ich
Code:
....
var i:Integer;
    ExtraItem : TActionClientItem;
    ExtraAction : TAction;
begin
for i := 0 to ActionManager.ActionBars[0].Items.count-1 do
  begin
    if StripHotkey(ActionManager.ActionBars[0].Items[i].Caption)='Extra' then
    begin
      ExtraItem:=ActionManager.ActionBars[0].Items[i].Items.Add;
      ExtraItem.Caption:='TEST';

      ExtraAction:=TAction.Create(ActionManager);
      ExtraAction.Caption:='TEST';
      ExtraAction.Enabled:=true;
      ExtraItem.Action:=ExtraAction;

      break;
    end;
  end;
...
Das funktioniert auch soweit. Das Problem ist nur, der Eintrag "Extra" bleibt deaktiv, man kann ihn nicht anklicken (siehe Screen), ABER wenn man zuerst einen anderen Eintrag anklickt und dann die Maus über "Extra" bewegt, dann geht das Menü auf.
Was mache ich den falsch? Warum bleibt Extra deaktiv?

Grüße
Christof

Nachtrag: ich habe der TAction vom "Extra" Menüpunkt noch eine onExecute procedure hinzugefügt (ohne Code, da ich die hier eigentlich gar nicht brauche) und damit ist der Menüpunkt aktiv. Finde ich zwar nicht logisch, da ich bei den anderen beiden Menüpunkten "Programm" und "Verwaltung" auch kein onExecute habe (die sind allerdings nicht dynamisch), aber gut, wenn es funktioniert.
Miniaturansicht angehängter Grafiken
item.png  

Geändert von tofse (13. Dez 2012 um 13:25 Uhr) Grund: gelöst
  Mit Zitat antworten Zitat