Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2010-04

stringgrid, alinear celdas

3 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Jesus Reyes
to Paola Bruccoleri

--- El vie 23-abr-10, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:

Show quoted text 16 lines
De: Paola Bruccoleri <pbruccoleri en adinet.com.uy> Asunto: [Lazarus-es] stringgrid, alinear celdas A: "Lista Lazarus" <lazarus-es en lists.lazarus.freepascal.org> Fecha: viernes, 23 de abril de 2010, 15:44 Hola a todos.. si, ya he buscado en google... espec�ficamente este ejemplo: http://neftali.clubdelphi.com/?p=180 que he tratado de usar en un stringgrid, pero no me alinea la columna que le indico.. Ser� que ac� en lazarus hay alguna diferencia? muchas gracias chauuuuuuuuuuuu

La alineaci�n en un stringgrid en lazarus es muy sencillo de hacer, te dejo 2 metodos.

1. Si las columnas del stringgrid son "columnas personalizadas" (ver en el inspector de objetos la propiedad columns y haciendo click en el boton [...] con esto aparece el editor de columnas), a cada columna puedes asignarle alineaci�n independiente, tanto al titulo de la columna como a la columna en si, simplemente seleccionando la columna en el editor de columnas y cambiando las propiedades en el inspector de objetos. Este m�todo requiere 0 lineas de c�digo.

2. El evento OnPrepareCanvas del grid fue creado ex�ctamente para este tipo de situaci�n. En ese evento puedes hacer lo siguiente:

  procedure TForm1.StringGrid1PrepareCanvas(sender: TObject; aCol, aRow: Integer; aState: TGridDrawState);
  var
    MyTextStyle: TTextStyle;
  begin
    if (Col=2) or (Col=3) then
    begin
      MyTextStyle := StringGrid1.Canvas.TextStyle;
      if Col=2 then
        MyTextStyle.Alignment := taRightJustify
      else
      if Col=3 then
        MyTextStyle.Alignment := taCenter;
      StringGrid1.Canvas.TextStyle := MyTextStyle;
    end;
  end;

Este ejemplo fue tomado del wiki: http://wiki.lazarus.freepascal.org/Grids_Reference_Page#Example:_How_to_align_column_text_in_StringGrids

He descargado el ejemplo que mencionas y al convertirlo puedo ver que efectivamente no esta alineando correctamente a parte de que tiene un detalle al importar los datos, mas tarde lo voy a analizar para ver por que sucede esto.

Jesus Reyes A.

Reply by email

Paola Bruccoleri

Hola Jes�s..

gracias por la respuesta..
por ahora me inclinar� por la opci�n 1 (sin c�digo), ya que es un simple stringgrid, nada sofisticado, no vale la pena agregarle c�digo innecesario!! :)

chauuuuuuuu

La alineaci�n en un stringgrid en lazarus es muy sencillo de hacer,

te dejo 2 metodos.

1. Si las columnas del stringgrid son "columnas personalizadas" (ver

en el inspector de objetos la propiedad columns y haciendo click en el boton [...] con esto aparece el editor de columnas), a cada columna puedes asignarle alineaci�n independiente, tanto al titulo de la columna como a la columna en si, simplemente seleccionando la columna en el editor de columnas y cambiando las propiedades en el inspector de objetos. Este m�todo requiere 0 lineas de c�digo.

2. El evento OnPrepareCanvas del grid fue creado ex�ctamente para

este tipo de situaci�n. En ese evento puedes hacer lo siguiente:

Reply by email