Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   StringGrid doble fila (https://www.clubdelphi.com/foros/showthread.php?t=58159)

mjjj 10-07-2008 17:32:40

StringGrid doble fila
 
hola amigos, una ayudita porfa...

Estoy realizando una aplicación para imprimir Facturas. En un StringGrid, escribo cantidad, valor unitario y detalle.

Pregunta: Ocurre que derepente el espacio que tengo para escribir el detalle, no es suficiente, por lo que por ahora simplemente lo restrinjo a que no escriba mas... como puedo solucionar esto?

Alguna idea... cualquier cosa es bienvenida

Gracias

coso 10-07-2008 18:14:15

Hola. Para aumentar el tamaño del stringgrid, debes usar el método Add(texto). Ahora bien, para lo que estas haciendo lo correcto seria usar base de datos. Es mucho más trabajoso pero aparte que lo aprenderas a usar, tambien te ahorrara problemas.

Caro 10-07-2008 23:58:48

Hola mjjj, según lo que te entiendo es que quieres que en tus celdas se permita que el contenido se vea en varías lineas, puedes hacerlo utilizando el evento OnDrawCell de tu StringGrid, la función que te permite dar formato a un texto es DrawText, así quedaría tu codigo.

Código Delphi [-]
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
 Celda   : String;
begin
 Celda := StringGrid1.Cells[ACol,ARow];
 DrawText(StringGrid1.Canvas.Handle,PChar(Celda), StrLen(PChar(Celda)),Rect,DT_WORDBREAK);
end;

donde DT_WORDBREAK es el formato, que una vez que el texto llega al tamaño de tu Rect, te lo corta y lo que queda te pone en otra línea.

Saluditos

mjjj 11-07-2008 16:19:08

Gracias, eso era lo que necesitaba.
Me gustaria mejorar algunas cosas, por ejemplo:

- Al final de cada texto me aparece un simbolo extraño, como lo puedo sacar?

- Al seleccionar una celda, que tengo mas de una linea, que automaticamente de cambie el ancho de la celda para poder ver todo el texto, y cuando me salga de esa celda, vuelva a su tamaño original... se puede ahcer esto?

Saludos y muchas gracias


La franja horaria es GMT +2. Ahora son las 06:46:39.

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