Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-04-2016
Avatar de BDWONG
BDWONG BDWONG is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 113
Poder: 11
BDWONG Va por buen camino
Autosize Listiview en Lazarus

Hola chicos tengo un listview con el estilo vsReport, le añado el nombre a las columnas hasta ahi todo bien, el problema viene cuando palomeo su propiedad autosize a True, ejecuto mi programa pero no auto ajusta las columnas dependiendo el titulo de sus columnas quedando asi:



Lo mismo lo hago con delphi y no me da ningun problema, acaso lazarus necesita alguna configuracion diferente?

Espero su ayuda.
Saludos....
Responder Con Cita
  #2  
Antiguo 17-04-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Proba con ponerle en Width -1 o -2
Responder Con Cita
  #3  
Antiguo 17-04-2016
Avatar de BDWONG
BDWONG BDWONG is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 113
Poder: 11
BDWONG Va por buen camino
Cuando se lo pongo me dice que el valor debe ser mayor o igual a cero pero de nada sirve ya que cuando lo pongo a true a autosize se auto re-dimensiona el tamano de witdth
Responder Con Cita
  #4  
Antiguo 17-04-2016
Avatar de BDWONG
BDWONG BDWONG is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 113
Poder: 11
BDWONG Va por buen camino
Hola despues de buscar se me ocurrio una posible solucion y es la de crear una funcion que auto ajuste las dimensiones del las columnas de listview, pero como el form esta expuesto a ser redimensionado puse la funcion dentro del evento onResize del formulario( Form)

La funcion en cuestion es esta:
Código Delphi [-]
procedure autoSizeListView(var listView:TListView; Form:TForm);
var
  i:Integer;
begin
  for i:=0 to listView.Columns.Count-1 do
  begin
    listView.Columns.Items[i].Width:=Form.Width div listView.Columns.Count;
  end;
end;

Pider por parametro un listView y una formulario, el listView tiene que ser pasado por referencia.
Ya que tenemos nuestra funcion nos vamos al evento onResize del formulario( Form) y ponemos la funcion ahi.
Ejemplo:

Código Delphi [-]
procedure TForm1.ListView1Resize(Sender: TObject);
begin
  autoSizeListView(ListView1,Form1);
end;




Si alguien tiene una mejor alternativa que lo haga saber.
Saludos...
Responder Con Cita
  #5  
Antiguo 17-04-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
A mi me parece correcto

De hecho seguro tengo un fragmento de código similar en algún lado

Lo del -1, el -2, viene del control listview de windows, que es envuelto por TListView de la VCL.
https://msdn.microsoft.com/en-us/lib...v=vs.110).aspx

Pero se ve que en fpc la implementación es distinta
Responder Con Cita
  #6  
Antiguo 18-04-2016
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por AgustinOrtu Ver Mensaje
A mi me parece correcto

De hecho seguro tengo un fragmento de código similar en algún lado

Lo del -1, el -2, viene del control listview de windows, que es envuelto por TListView de la VCL.
https://msdn.microsoft.com/en-us/lib...v=vs.110).aspx

Pero se ve que en fpc la implementación es distinta
No he comprobado el caso del TListView que se comenta en el hilo. Pero si se me permite decirlo:

Es de esperar que la implementación en Lazarus sea distinta ya que tiene como premisa el concepto de multiplataforma y no debe verse atado a ningún SO. La LCL fue pensada así, es todo un concepto multiplataforma. Luego existen los WindGetSet, que son bibliotecas e interfaces que intermedian entre la LCL y el SO para ofrecer la mejor prestación y adaptación dependiendo del SO bajo el cual corre la aplicación.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Comportamiento extraño de un TLabel con taRightJustify, AutoSize y MaxWidth gluglu Varios 4 20-09-2017 15:33:46
codigo de lazarus windows a lazarus linux anubis Lazarus, FreePascal, Kylix, etc. 5 20-04-2013 21:33:55
Lazarus en el Mac Javier_1712 Lazarus, FreePascal, Kylix, etc. 1 15-03-2011 17:00:38
[Lazarus] ¿Que es QT? MAXIUM Lazarus, FreePascal, Kylix, etc. 2 17-10-2008 21:31:31
[Lazarus] GTK+-devel en SUSE. problema instalar lazarus de esa libreria. sakuragi Lazarus, FreePascal, Kylix, etc. 3 28-09-2006 03:31:09


La franja horaria es GMT +2. Ahora son las 10:04:30.


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
Copyright 1996-2007 Club Delphi