Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Probleme mit Caption in TMainMenu

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.10.2006, 14:53 Uhr
~radian
Gast


Hallo,
habe ein neues Problem.
Ich möchte die Anzahl der Elemente und der dazugehörigen Unterelemente herausbekommen um sie später neu zu benennen. Dazu soll mir die Indexzahl diese Objeketes behilflich sein. In einer XML-Datei wird der Name des Objekts überprüft und der Wert der Caption anbgefragt.
Mein Problem ist, dass ich nicht an die Indexzahl der Einträge in TMainMenu herankomme oder die Eintrage umbennen kann. Ich füge hier mal meinen Quelltext ein.
javascript:insert_tag('
C++:
','
',1)

C++:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Objektsuche.h"
#include "ObjectDebug.h"
#include <XMLDoc.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;

#define __SHOWNAMES__

//---------------------------------------------------------------------------
// Einlesen der XML-Datei mit der Sprachen- und Objekliste
// Suchalgorithmus zur Findung der Objektnamen
AnsiString getName(AnsiString ObjName,AnsiString Sprache)
{
    AnsiString BuCaption;

    try
          {
        _di_IXMLDocument LangXML = LoadXMLDocument("lang.xml");
        _di_IXMLNodeList NodeList = LangXML->DocumentElement->ChildNodes;
        _di_IXMLNode ObjNameNode = NodeList->FindNode(ObjName);
        BuCaption = ObjNameNode->ChildNodes->FindNode(Sprache)->NodeValue;

        return BuCaption;
       }
    catch (...)
        {
        try
                {
                    throw Exception("");
                }
            catch (Exception &exception)
                {
                    Application->ShowException(&exception);
                }
        }

       return 0;
}

//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
    : TForm(Owner)
{
   // Ausgabe der Anzahl der Objekte
    Button_Para->Caption = Form2->ComponentCount;
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button_BerPrClick(TObject *Sender)
{
    // Variablen zum Zwischenspeichern der Caption und des Objektnamens
    AnsiString ObjName[50];
    AnsiString CaptionName[50];
    AnsiString Sprache = "eng";
    int NumberMenu;
    int NumberItem;
      int zahl = 0;

    #ifdef __SHOWNAMES__
    FormObjDebug->Show();
    FormObjDebug->LB1->Clear();
    #endif

    for (int i=0; i< Form2->ComponentCount;i++)

        {
            ObjName[i] = Form2->Components[i]->GetNamePath();

            TComponent *comp = Components[i];

              #ifdef __SHOWNAMES__
            FormObjDebug->LB1->Items->Add( "Name: " + ObjName[i] + " Class: " + Components[i]->ClassName());
            #endif

            if (Components[i]->ClassNameIs("TLabel"))
            {
                CaptionName[i] = getName(ObjName[i], Sprache);
                   TLabel *label = dynamic_cast<TLabel *>(comp);
                if(label != NULL)
                {
                    label->Caption = CaptionName[i];
                }
            }
            if (Components[i]->ClassNameIs("TButton"))
            {
                CaptionName[i] = getName(ObjName[i], Sprache);
                TButton *button = dynamic_cast<TButton *>(comp);
                if(button != NULL)
                {
                       button->Caption = CaptionName[i];
                }

            }
           if (Components[i]-ClassNameIs("TMenuItem"))
           {

               if (Components[i]->ClassNameIs("TMainMenu"))
            {

            int zahl;
                NumberMenu = MainMenu1->Items->Count;
                   Form2->MainMenu1->Items->Caption = "Test";

                //zahl = Form2->MainMenu1->ComponentCount;
                  //MainMenu1->Items->Caption = "Test";

            }
        }
    }
}
//-------------------------

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: