Ver Mensaje Individual
  #15  
Antiguo 24-02-2016
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Reputación: 17
jhonalone Va por buen camino
Hola, Egostar.

Primero, gracias por tu colaboración y por tu aporte.
Te conozco desde hace años y debes saber que eres un miembro admirado por mí por tus muchos y valorados aportes.

Pero en esta ocasión tengo dos cosas que decirte. Una buena y otra mala.
Empecemos por la buena: Tienes razón. Yo había probado también TForm1.StringGrid1SelectCell, pero no se me ocurrió evaluar ACol y ARow, de sus parámetros, utilicé la misma estructura que tenía en TForm1.StringGrid1SelChanged, o sea la siguiente:

Código Delphi [-]
procedure TPrinci.grdTableroSelectCell(Sender: TObject; const ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  Label4.Text := 'Columna = '+ ColumnIndex.ToString + '  /  '+
                 'Fila = '+ IntTostr(grdTablero.Index);
end;

Con lo cual, el resultado de la columna era correcto pero no el de la fila. Era cero, como ya comenté.
He seguido tu consejo y he cambiado el cuerpo del evento a lo siguiente:
Código Delphi [-]
procedure TPrinci.grdTableroSelectCell(Sender: TObject; const ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  Label4.Text := 'Columna = '+ ACol.ToString + '  /  '+
                 'Fila = '+ ARow.ToString;
end;

Con esto he conseguido identificar la fila correctamente, ya no sale cero como antes.

Ahora VIENE la segunda parte, la negativa.
En cualquier celda de la rejilla que selecciones, siempre que no sea la última de abajo, los valores de la fila y la columna, son correctos.

Pero vuelvo a repetir:
Si la celda seleccionada está en cualquier parte de la rejilla, QUE NO SEA LA ÚLTIMA FILA DE ABAJO, y seleccionas una de las casillas de la última fila ( la de abajo ), ocurre lo siguiente:

(Estamos hablando de la expresión en un dispositivo Android). La columna que informa ACol es correcta y la fila que informa ARow también es correcta, pero la celda que "aparentemente" está seleccionada, (cambia el color), NO ES CORRECTA, corresponde a la MISMA FILA que estaba seleccionada antes de pulsar en la última fila, y la columna correspondiente a la celda ES LA CORRECTA, (en la celda que cambia de color como seleccionada).

Cuando lo pruebes me respondes. Si no me he explicado, me lo dices.

Un Saludo, Egostar.
Responder Con Cita