Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Tstring grid evitar seleccion de celda (https://www.clubdelphi.com/foros/showthread.php?t=74516)

DarkBlue 23-06-2011 18:29:04

Tstring grid evitar seleccion de celda
 
no he podido hacer que la primera columna no se pueda seleccionar pues cuando le doy click a la columna se selecciona y puedo empezar a escribir, despues que sale el foco de esa celda y selecciono otra ya no la puedo seleccionar(que es lo que quiero).Lo que quiero es que no se pueda seleccionar desde el inicio del programa mi codigo es el siguiente

Código Delphi [-]
procedure TForm1.StringGrid2SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
var si:boolean;
    bb,aa:integer;
    puntero:tpoint;
begin

if acol=0 then
begin

canselect:=true;
stringgrid2.OnSelectCell(stringgrid2,acol+1,arow+1,canselect);
canselect:=false;

//stringgrid2.OnSetEditText(stringgrid2,acol+1,arow+1,stringgrid2.Cells[acol+1,arow+1]);
end




end;

muchas gracias por sus esfuerzos para ayudarme, que les valla bonito

ecfisa 23-06-2011 18:52:35

Hola.

Esto tendría que funcionarte:
Código Delphi [-]
procedure TForm1.StringGrid2Enter(Sender: TObject);
begin
  StringGrid2.Col:= StringGrid2.FixedCols + 1;
end;

procedure TForm1.StringGrid2SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
...
begin
 ...
 if ACol = StringGrid2.FixedCols then
   CanSelect:= False;
 ...
end;

Saludos.

DarkBlue 23-06-2011 21:18:48

funciona de maravilla note que cuando inicia el programa ya se selecciona apartir de la siguiente columna, en que consiste el evento onenter? y la propiedad .col de stringrid?

gracias denuevo

ecfisa 23-06-2011 21:28:23

Hola DarkBlue.

El evento OnEnter se dispara cuando el componente recibe el foco.
La propiedad Col especifica el índice de la columna que contiene la celda seleccionada. Permite ver el índice de la columna actual o posicionarse en una columna determinada según el índice que se indique. (como en el ejemplo)

Un saludo.

DarkBlue 24-06-2011 21:30:16

muchas gracias, muy buena explicación te lo agradezco. Disculpa una ultima pregunta ,existen muchos eventos distintos ¿ existe acaso una guia de estos? y donde la puedo encontrar.

Que tengas un buen dia!

ecfisa 24-06-2011 21:56:23

Hola.

Si, existen muchos eventos distintos para cada componente, pero es muy fácil verlos desde el Inspector Object.
Sólo tenés que hacer click sobre la pestaña Events y te muestra todos los eventos del componente actualmente seleccionado.
Y haciendo doble click sobre el cuadro de edición adyacente al nombre del evento, automáticamente te genera el 'esqueleto' del procedimiento y te posiciona en él para que empieces a escribir tu código.

Un saludo. :)

DarkBlue 24-06-2011 22:17:23

ah claro pero , me referia a una especie de manual que te mencione el orden en que se activan y para que sirven por que luego mal entinedo su función . bueno ya me encargare de buscar gracias =) eres muy servicial.

ecfisa 24-06-2011 23:24:36

Hola de nuevo DarkBlue.

Aunque está en inglés, en la ayuda de Delphi tenes toda esa información.

Saludos.


La franja horaria es GMT +2. Ahora son las 05:20:04.

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