| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Alpha120 Lt


Registrado: 11 Mar 2007Mensajes: 99Ubicación: Sevilla, España
|
Publicado: Mar 08 May, 2007 10:31 pm Asunto: Asignación de PopupMenu en tiempo de ejecución?? |
|
|
Saludos, a ver si vosotros me podeis echar una mano pues estoy algo perdido con lo que intento hacer (espero que se pueda).
Tengo varios PopupMenu en mi proyecto (PopupMenu1, PopupMenu2, PopupMenu3), asignados a un StringGrid, de modo que cuando se hace click derecho sobre una celda del StringGrid, sale el PopupMenu.
Lo que me gustaría es por ejemplo, poder asignarle al StringGrid un PopupMenu distinto, por ejemplo:
Si hago click en un botón, que le asigne al StringGrid el PopupMenu1;
Si hago click en otro botón, que le asigne al StringGrid el PopupMenu2;
Y por último, si hago click en un tercer botón, que le asigne al StringGrid el PopupMenu3;
Lo he intentado con
| Código: | Form1->StringGrid1->PopupMenu->Name = PopupMenu1; |
Es así??
Aparte, cómo se hace para insertar el Caption del ítem que se selecciona?
Si lo intento así
| Código: | Form1->StringGrid1->Cells[x][y] = PopupMenu1->Items[0]; |
Me dice que no puede convertir un TMenuItems a AnsiString.
Alguna sugerencia o idea??
Gracias!! _________________ Saludos, Alpha. |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Mie 09 May, 2007 12:09 am Asunto: |
|
|
Prueba asi:
| Código: | Form1->StringGrid1->PopupMenu = PopupMenu1; |
Saludos! _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
Alpha120 Lt


Registrado: 11 Mar 2007Mensajes: 99Ubicación: Sevilla, España
|
Publicado: Mie 09 May, 2007 4:00 pm Asunto: |
|
|
Gracias Buildero. Se te ocurre algo para la otra pregunta??? _________________ Saludos, Alpha. |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Mie 09 May, 2007 6:13 pm Asunto: |
|
|
| Alpha120 escribió: | | Gracias Buildero. Se te ocurre algo para la otra pregunta??? |
Ok, en ese caso prueba con:
| Código: | Form1->StringGrid1->Cells[x][y] = PopupMenu1->Items->Items[0]->Caption; |
Con esto asignas el Caption del primer elemento del Popup.
Saludos! _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
Alpha120 Lt


Registrado: 11 Mar 2007Mensajes: 99Ubicación: Sevilla, España
|
Publicado: Jue 10 May, 2007 3:26 pm Asunto: |
|
|
Gracias Buildero!!!
Una última pregunta.
Y si tengo por ejemplo un ComboBox con los números 1 a 5 y otros tantos PopupMenu??
Y cada vez que seleccione un número del ComboBox quiero asignar al mismo StringGrid un PopupMenu distinto?
No podría hacerlo con:
| Código: | Form1->StringGrid1->PopupMenu = "PopupMenu" + Form1->ComboBox1->Text |
Por que entonces me dice que no puede convertir AnsiString en PopupMenu o algo así.
Cómo lo puedo hacer? (si se puede, claro).
Muchas gracias por todo!!!! _________________ Saludos, Alpha. |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Jue 10 May, 2007 4:04 pm Asunto: |
|
|
Que tal Alpha.
No, no se puede hacer como lo intentas.
Utiliza el evento OnSelect del ComboBox y allí indica el Popup que te interese dependiendo del elemento seleccionado en el combo.
Ejemplo:
| Código: | void __fastcall TForm1::ComboBox1Select(TObject *Sender)
{
switch ( ComboBox1->Text.ToInt() )
{
case 1:
Form1->StringGrid1->PopupMenu = PopupMenu1;
break;
case 2:
Form1->StringGrid1->PopupMenu = PopupMenu2;
break;
case 3:
Form1->StringGrid1->PopupMenu = PopupMenu3;
break;
case 4:
Form1->StringGrid1->PopupMenu = PopupMenu4;
break;
case 5:
Form1->StringGrid1->PopupMenu = PopupMenu5;
break;
}
}
|
Saludos! _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
Alpha120 Lt


Registrado: 11 Mar 2007Mensajes: 99Ubicación: Sevilla, España
|
Publicado: Jue 10 May, 2007 4:46 pm Asunto: |
|
|
Hmm, pues nada, a hacerlo con switch, me lo temía... :-\
Gracias por tu ayuda!! _________________ Saludos, Alpha. |
|
| Volver arriba |
|
 |
|