• Domingo 15 de Diciembre de 2024, 15:45

Autor Tema:  Menus Emergentes  (Leído 1083 veces)

jpepalmero

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Menus Emergentes
« en: Martes 30 de Noviembre de 2004, 03:23 »
0
:lightsabre:  Buenas soy novato en esto de la programacion con builder. Por necesidad estoy comenzando a programar en builder 5, y les paso a explicar lo que me sucede. Estoy desarrollando una pequeña aplicacion, el problema es el siguiente: quiero relacionar una posicion de una regilla con un evento onmousedop o similiar, es decir un evento que tiene la posicion x,y para mediante la funcion Cells poder cambiar el valor que tiene esa posicion en tiempo de ejecucion. La verdad es que creo que lo he intentado todo, y no se como hacerlo. Les agradeceria mucho que me hecharan una mano. Muchas gracias

Joss

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Menus Emergentes
« Respuesta #1 en: Miércoles 1 de Diciembre de 2004, 19:33 »
0
Imagino que tienes un objeto Grid (la rejilla)

Antes coloca otro objeto, que sera un Label,  para hacer la siguiente prueba:

Suponte que cojemos el evento de clic de raton en una celda de la rejilla, con lo cual la seleccionaras.
Entonces, rellena el cuerpo de la misma como sigue:

void __fastcall TForm1::StringGrid1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  Label1->Caption=IntToStr(StringGrid1->Row)+"  "+IntToStr(StringGrid1->Col) ;
}

Veras como en Label1 escribe la posicion de la celda seleccionada.


Y si pones esta otra funcion:
void __fastcall TForm1::StringGrid1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  StringGrid1->Cells[ StringGrid1->Col ][ StringGrid1->Row] = "Celda "+IntToStr(StringGrid1->Row)+"  "+IntToStr(StringGrid1->Col) ;
}
veras como se va rellenando el Grid.

Espero haberte ayudado.
Saludos