Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


 
 
Herramientas Buscar en Tema Desplegado
  #36  
Antiguo 02-03-2016
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Hola

Después de un tiempo sin poder atender éste asunto debido a carga laboral, pude dar un vistazo al problema que mencionas y se puede resolver fácilmente.

1. Cuando dices :

Cita:
Cuando el contenedor del TStringGrid, (en este caso el TScaledLayout) es más largo que el TStringGrid y el TStringGrid está alineado al Top, si tienes una TLabel, en la que puedes ver la fila y la columna seleccionadas, aunque hayas definido la rejilla de 9x9, (por ejemplo) si pulsas por debajo de la rejilla y dentro de su contenedor verás que parece que has pulsado una fila MAYOR que 9.
No estás pulsando debajo del StringGrid, estás pulsando dentro del StringGrid como lo puedes ver en la imagen que enlazo.

https://plus.google.com/u/0/photos/p...98556772600978

2. Por otro lado, efectivamente, hay un detalle "raro" que al pulsar fuera del área de celdas pero dentro del mismo StringGrid cambie de celda aunque siempre permanezca en la última fila, sin embargo, el método SelectCell tiene una variable llamada CanSelect de tipo Boolean que nos ayudará a resolver el punto.

Te muestro el código que usé para resolver el problema, aunque yo forzaría a que no existiera ninguna zona extra en el StringGrid y que la cuadricula sea exacta como te lo muestro en ésta imagen.

https://photos.google.com/photo/AF1Q...emMxB37CCvSqLH

Código Delphi [-]
procedure TForm1.grdTableroSelectCell(Sender: TObject; const ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  if ARow <= grdTablero.RowCount then
  begin
    CanSelect := true;
    Label4.Text := 'Columna = '+ ACol.ToString + '  /  '+
                   'Fila = '+ ARow.ToString;
    Label1.Text := 'Última casilla pulsada: ' +  ACol.ToString + ',' + ARow.ToString;
  end
  else begin
         CanSelect := false;
  end;
end;

3. No sé la razón por la cual el nuevo StringGrid permite seleccionar columnas aunque no existan mas filas asignadas en la propiedad RowCount, de cualquier forma lo voy a pasar a otra instancia para saber porque funciona de esa forma o para que se tome en cuenta como punto de mejora.

Saludos
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Embarcadero pasa a Idera geolife Noticias 28 29-10-2015 08:57:26
problema con embarcadero y dll elmago00 Varios 4 16-01-2014 22:14:55
Codegear & Embarcadero Emilio Noticias 19 10-06-2008 22:58:47


La franja horaria es GMT +2. Ahora son las 00:26:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi