Ver Mensaje Individual
  #1  
Antiguo 06-02-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
Modificar TMenuItem

Tengo un componente TMenuItem en el que necesito, en función de unos parámetros, que en una de las opciones se cree un submenú. He estado probando esto:
Código:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
     TMenuItem *mItem0 = new TMenuItem(this);
     TMenuItem *mItem1 = new TMenuItem(this);

     for (int nItem = 0; nItem < MainMenu1->Items->Count; nItem ++)
     {
          if (StringReplace(MainMenu1->Items->Items[nItem]->Caption, "&", "", TReplaceFlags() << rfReplaceAll) == "Opción 8")
          {
               mItem0 = (TMenuItem *)this->Components[nItem];
               mItem0->Add(mItem1);
               mItem1->Caption = "Prueba 1";

               mItem0 = (TMenuItem *)this->Components[nItem];
               mItem0->Add(mItem1);
               mItem1->Caption = "Prueba 2";
               
               mItem0 = (TMenuItem *)this->Components[nItem];
               mItem0->Add(mItem1);
               mItem1->Caption = "Prueba 3";
               break;
          }
     }
}
Pero al tratar de insertar la segunda opción del submenú (Prueba 2) me salta este error:
Cita:
exception class EMenuError with message 'Menu inserted twice'
Además ese ítem Prueba 1 me lo inserta en la Opción 7 del TMainMenu en vez de en la que me interesa.
Responder Con Cita