Ir al contenido


Foto

Ancho de UNA columna de TStringGrid de acuerdo a un texto.


  • Por favor identifícate para responder
2 respuestas en este tema

#1 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 31 agosto 2012 - 09:46

Jóvenes delphineros:

Me encuentro con que estoy rellenando una columna de un TStringGrid con un texto de ésta forma:



delphi
  1. .
  2. .
  3. .
  4.  
  5.         Open;
  6.         while not Eof do
  7.         begin
  8.             Cells[0,iIndiceRen] := Trim(FieldByName('C93_DIETA_STR').AsString);
  9.             RowCount := RowCount + 1;
  10.             iIndiceRen := RowCount - 1;
  11.             Next;
  12.         end;
  13. .
  14. .
  15. .



Lo cual está perfectamente correcto. Al mostrar el TStringGrid en mi forma (imagen adjunta) algunos textos de la primera columna aparecen "cortados" y otros "montados".

¿De qué manera podría darle a la columna extrema izquierda un tamaño suficiente para mostrar EL TEXTO MÁS LARGO por programación?

Por su atención y ayuda, de antemano, gracias.

Archivos adjuntos


  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 31 agosto 2012 - 11:26

La API GetTextExtentPoint32 te da la altura y longitud de un texto. Sabiendo esto, o ajustas el tamaño de la columna cada vez que tienes un texto mas largo que los anteriores o analizas las longitudes antes de dar el ancho de columna.


Saludos.
  • 0

#3 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 31 agosto 2012 - 03:32

Gracias escafandra, buscaba ésto para una cosa que tengo en mente. Ahora ya no tengo que buscar jejejeje

  • 0




IP.Board spam blocked by CleanTalk.