AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Zugriff auf Elemente im VCL Ribbon

Ein Thema von messie · begonnen am 9. Feb 2012 · letzter Beitrag vom 15. Feb 2012
Antwort Antwort
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#1

Zugriff auf Elemente im VCL Ribbon

  Alt 9. Feb 2012, 14:21
Moin,

ich beschäftige mich gerade mit den VCL-Ribbons und suche die Strippe, mit der ich an die Elemente im "RibbonApplicationMenuBar" komme.
Im Anhang als "Save", "Save as" etc gekennzeichnet und sind zur Entwurfszeit dem Actionmanager untergeordnet. An die anderen komme ich dran, z.B. an die Recent Items.
Einen direkten Zugriff auf die anderen Items muss es doch aber geben

Mit dem Aufruf ähnlich
ActionManager1->ActionBars->ActionBars[0]->Items->ActionClients[0]->Caption
komme ich an alle anderen Elemente dran.

Hat das jemand schon mal probiert?

Danke, Messie

Edit: Anhang drangehängt.
Miniaturansicht angehängter Grafiken
ribbonapplicationmenubar.jpg  

Geändert von messie ( 9. Feb 2012 um 14:47 Uhr)
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Zugriff auf Elemente im VCL Ribbon

  Alt 9. Feb 2012, 16:50
Hoppla, unter Delphi geht es

ActionManager1.ActionBars[0].Items[0].Items[0].Caption := 'huhu';
greift genau darauf zu.

Der Builder gibt mir hierfür einen Fehler wieder:
ActionManager1->ActionBars[0]->Items[0]->Items[0]->Caption = "huhu";
verusacht den Fehler
"E2288 Zeiger auf Struktur links von -> oder von ->* erforderlich"
und zeigt auf die erste eckige Klammer.
Der ActionManager1 ist doch eine Komponente, da brauche ich doch keinen extra Zeiger drauf, oder?

Grüße, Messie
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Zugriff auf Elemente im VCL Ribbon

  Alt 9. Feb 2012, 18:22
Herrje, wie kompliziert!

Daher hier die Lösung, falls sich damit mal jemand freiwillig damit rumärgert.

Wir sind vielleicht irre, aber noch nicht soooo selbstmörderisch veranlagt.
Aus
Code:
ActionManager1.ActionBars[0].Items[0].Items[0].Caption := 'huhu';
in Delphi wird in CPP
Code:
ActionManager1->ActionBars->ActionBars[0]->Items->ActionClients[0]->Items->ActionClients[0]->Caption = "huhu";
Die Implementierung ist also doch recht unterschiedlich.

Rausgefunden habe ich es, in dem ich mir mit <irgendwas>->ToString() die Typen habe anzeigen lassen, dann konnte ich mich damit am Strukturbaum entlang hangeln. Das hatte ich bei C# schon häufiger mal gemacht, hier bin ich erst spät darauf gekommen.

Grüße, Messie
  Mit Zitat antworten Zitat
DMW

Registriert seit: 6. Sep 2006
Ort: Münster
269 Beiträge
 
Delphi XE Professional
 
#4

AW: Zugriff auf Elemente im VCL Ribbon

  Alt 15. Feb 2012, 20:34
In Delphi können Klassen Default-Array-Eigenschaften haben, so daß etwa objekt[i] als objekt.DefaultProperty[i] interpretiert wird. In C++ würde das so nicht gehen, weil das Objektmanagement über Zeiger geschieht und objekt[i] in C++ für Zeiger nur eine Alternativschreibweise für *(objekt + i) ist.

Der Delphi-Compiler generiert trotzdem für Default-Eigenschaften einen []-Operator-Overload, etwa für TList:
Code:
class PASCALIMPLEMENTATION TList : public System::TObject
{
   typedef System::TObject inherited;
   ...   
public:
   void * operator[](int Index) { return Items[Index]; }
   ...
   __property void * Items[int Index] = {read=Get, write=Put/*, default*/};
Aber zum Benutzen muß man den Zeiger explizit dereferenzieren: aus objekt[i] in Delphi würde also (*objekt)[i] in C++. Auf Dauer ist das auch lästig.
Moritz
"Hey, it compiles! Ship it!"
C++Builder Pages
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 21:17 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