Ver Mensaje Individual
  #3  
Antiguo 09-11-2017
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
Gracias por tu respuesta ecfisa. Ya sabía yo que iba a ser difícil entender la pregunta. Lo cierto es que algo similar a eso lo he intentado.
Código:
void __fastcall TfPersona::RecLisClick(TObject *Sender)
{
     TMenuItem *mOpcionLis = new TMenuItem(this);
     mOpcionLis = static_cast<TMenuItem *>(Sender);
     mOpcMenu = mOpcionLis;

     mOpcMenu->Tag = 10 * mOpcionLis->Tag + 2 - Mensaje(2, "¿Desea diferenciar situaciones?", "Sí\nNo");   // Calculo Tag

     Application->CreateForm(__classid(TfLisRec), &fLisRec);

     [...]

     fLisRec->ShowModal();
     delete fLisRec;
     mOpcionLis->Tag = 0;
     this->SetFocus();
}
Sin embargo a pesar de esa línea, cuando vuelve a ejecutarse el evento porque el usuario selecciona una nueva opción no me pone a cero ese valor del Tag y me guarda no ya el del ítem seleccionada si no que guarda el que se ha calculado en Calculo Tag. Es decir si en el cálculo ha salido que mOpcMenu->Tag vale 110, ese valor me lo traslada a mOpcionLis->Tag. Y ahí si que me pierdo del todo. Y ese Tag, una vez calculado, no lo toco para nada y sólo lo empleo en bucles switch...case.

Otra de las cosas que he probado es, dado que cuando se entra en el evento hay un new TMenuItem, borrar (delete mOpcionLis) el objeto, pero me he encontrado que haciendo eso me borra también la opción que está definida en el formulario.
Responder Con Cita