AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ActionClientItem aus ActionMainmenubar aufräumen?
Thema durchsuchen
Ansicht
Themen-Optionen

ActionClientItem aus ActionMainmenubar aufräumen?

Ein Thema von Lun · begonnen am 8. Dez 2006 · letzter Beitrag vom 8. Dez 2006
Antwort Antwort
Benutzerbild von Lun
Lun

Registriert seit: 4. Feb 2006
122 Beiträge
 
Delphi 2005 Professional
 
#1

ActionClientItem aus ActionMainmenubar aufräumen?

  Alt 8. Dez 2006, 10:31
Hi @ll,

ich habe ein Problem, ich habe eine ActionMainMenubar, in dieser Menubar erzeuge ich dynamisch in einem Menüpunkt Unterpunkte.
Diese Unterpunkte sind logischerweise vom Typ ActionClientItem, da ich aber zur Caption noch zwei Variablen dazu ablegen möchte,
fehlten mir zwei Stringtypen. Dann habe ich mir gedacht leite ich vom Typ ActionClientItem ab, und dann bastel ich mir meine 2 variablen. Das hat aber nicht funktioniert, keine ahnung warum. Dann habe ich eine Ableitung vom Typ TColletionItem gemacht.

Delphi-Quellcode:
type
  TMyCollectionItem = class(TCollectionItem)

  private
       var1 : String;
       var2 : String;
  public
      

  end;
Jetzt funktioniert das hinzufügen ohne Probleme, ich kann diese beiden Variablen auch ansprechen und gebrauchen. Bsp. Code

Delphi-Quellcode:

var

Item : TActionClientItem

for i := 0 to Liste.Count-1 do begin
      Item := _ActionManager.ActionBars[0].Items[7].Items[in].Items.Add; //Und hier wird das Item zu dem Menü mit Index in geaddet.
      Item.Action := iAction; //iItem wird eine Action zugewiesen
     
      iItem.Caption := 'abc';


       TMyCollectionItem(Item).var1 := 'def';
       TMyCollectionItem(Item).var2 := 'ghz';


        //ShowMessage(TMyCollectionItem(Item).var1 + TMyCollectionItem(Item).var2);
       end;

Aber wenn ich einen Menupunkt neuerzeugen möchte, also den alten löschen einen neuen anlegen, bekomme ich die Items nicht gelöscht:

Delphi-Quellcode:

 //ohne die zwei variblen var1,var2 werden die Items sauber gelöscht
 _DFB_ActionManager.ActionBars[0].Items[7].Items[itemI].Items.Clear;
Wie bekomme ich jetzt hin das die beiden variablen mit gekillt werden?
Hab es bis jetzt so versucht:

TMyCollectionItem(_ActionManager.ActionBars[0].Items[7].Items[in].Items).Free;
TMyCollectionItem(_ActionManager.ActionBars[0].Items[7].Items[in].Items).Collection.Clear;
TMyCollectionItem(_ActionManager.ActionBars[0].Items[7].Items[in].Items).CleanupInstance;
TMyCollectionItem(_ActionManager.ActionBars[0].Items[7].Items[in].Items).FreeInstance;

Ich denke auch nicht das, dass der richtige ansatz ist, da ich so nur ein Item anspreche oder?

Vielleicht hat ja jemand eine Idee, oder vielleicht hätte ich doch von TActionclientItem ableiten müssen, da habe ich aber das
Problem das: _ActionManager.ActionBars[0].Items[7].Items[in].Items.Add;
Die Add funktion von ActionClients ein ActionClientItem zurück gibt. Und das bringt mir nix, und das außer acht lassen geht nicht.
Da dies nicht funtzt:

TMyActionClientItem(Item).var2 := 'ghz'; // Kind-Klasse := ElternKlasse geht net

Also thx for help

greetz Lun
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#2

Re: ActionClientItem aus ActionMainmenubar aufräumen?

  Alt 8. Dez 2006, 11:16
Online-Hilfe hat geschrieben:
Zitat:
Dieses Ereignis tritt ein, bevor TActionManager irgendwelche ActionClientItems erzeugt.

Delphi-Syntax:

property OnGetClientItemClass: TGetClientItemClass read FOnGetClientItemClass write FOnGetClientItemClass;

C++ Syntax:

__property TOnGetClientItemClass OnGetClientItemClass = {read=FOnGetClientItemClass, write=FOnGetClientItemClass};

Beschreibung

Schreiben Sie eine Ereignisbehandlungsroutine für OnGetClientItemClass , um den Typ der TActionClientItem-Klasse zu ändern, der von dem Aktionsmanager erzeugt und benutzt wird. OnGetClientItemClass ermöglicht es, einen Nachkommen von TactionClientItem zurückzugeben, der neue Eigenschaften, Ereignisse und Methoden für die Verwendung in Aktionsabschnitten bereitstellt.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:02 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