Delphi - tamaño celdas string grid

 
Vista:

tamaño celdas string grid

Publicado por Mauricio (13 intervenciones) el 06/02/2006 20:42:23
En mi proyecto utilizo un stringrid para capturar precios, los precios segun mi proyecto no pueden tener mas de 3 digitos, por lo cual necesito validar el ancho maximo de las rejillas, busque, pero no econtre una propiedad que me permita regular esta dimensión. Le agradecería mucho a cualquiera que me pueda dar una mano con este problema.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:tamaño celdas string grid

Publicado por Dr Juzam (822 intervenciones) el 06/02/2006 21:32:16
El ancho de las columnas se llama StringGrdi1.ColWidths[Indice], por ejemplo:

StringGrid1.ColWidths[2]:=100;

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tamaño celdas string grid

Publicado por Mauricio (13 intervenciones) el 06/02/2006 22:28:14
Gracias por tu respuesta, pero no es a lo que me referia, mi problema es como puedo manipular el max length de las celdas, asi como los edits tienen un max legth que si estan en 0 uno puede escribir n caracteres, pero si escribimos un "3" por ejemplo el edit recibe como máximo tres caracteres, lo mismo deseo hacer con las celdas del string grid,
asignarles un valor maximo. Muchas gracias por su tiempo
Mauricio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:tamaño celdas string grid

Publicado por Dr Juzam (822 intervenciones) el 06/02/2006 23:33:54
Se me ocurre algo así:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;

type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);
procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
private
{ Private declarations }
public
Columna, Fila: Integer; //La fila y columna en la que hacemos click
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if Length (StringGrid1.Cells[Columna, Fila])>=3 then
Key:=#0;
end;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
Columna:=ACol;
Fila:=ARow;
end;

end.

Ten en cuenta que esto impide que se introduzcan más de 3 caracteres por celda, pero aún se puede copiar/pegar más de 3. Te dejo eso a tí. Si te surje cualquier duda, aquí estamos.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar