Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ListView, breite ändern - Items neu zeichnen. (https://www.delphipraxis.net/78325-listview-breite-aendern-items-neu-zeichnen.html)

shifter 3. Okt 2006 10:45


ListView, breite ändern - Items neu zeichnen.
 
Hi,

ich suche eine möglichkeit bei ListView die Items neu zu zeichenn wenn ich die Breite des
ListView ändere. Der auslöser dazu wird es OnResize aber wie bekomme ich die einträge neu gezeichnent, bzw. neu eingeordnet ?

habt ihr ne idee ?


gruss
seba

bttb930 3. Okt 2006 10:56

Re: ListView, breite ändern - Items neu zeichnen.
 
gibt es nicht auch ein OnCustomDraw?

shifter 3. Okt 2006 10:59

Re: ListView, breite ändern - Items neu zeichnen.
 
Hi,

ja es gibt es auch, aber wie bewege ich ihn dazu um die sachen neu zu ordnen ?


gruss
seba

Zacherl 3. Okt 2006 11:00

Re: ListView, breite ändern - Items neu zeichnen.
 
Hi,

mit ListView1.Repaint ... vielleicht

Florian

shifter 3. Okt 2006 11:09

Re: ListView, breite ändern - Items neu zeichnen.
 
ne, ne da gerät er doch in eine entlose schleife, oder ?

Zacherl 3. Okt 2006 12:06

Re: ListView, breite ändern - Items neu zeichnen.
 
Versuchs einfach mal ... oder du könntest die WM_RESIZE abfangen und dann Repainten ...

Florian

shifter 3. Okt 2006 12:17

Re: ListView, breite ändern - Items neu zeichnen.
 
Das erste habe ich versucht, er hängt sich auf.

Aber ich bin nicht der erste der ListView verwenden möchte, es muss doch eine lösung dafür geben ? Der MS Explorer wenn mann ihm die grösse ändert verschiebt doch auch die sachen und passt auf die "client" grösse alls an.

gruss
seba

Christian Seehase 3. Okt 2006 13:18

Re: ListView, breite ändern - Items neu zeichnen.
 
Moin Seba,

irgendwie verstehe ich Dein Problem nicht so ganz.

Zitat:

Zitat von shifter
Der MS Explorer wenn mann ihm die grösse ändert verschiebt doch auch die sachen und passt auf die "client" grösse alls an.

Was wird verschoben und angepasst :gruebel:

Um Endlosschleifen bei manuellen Änderungen zu unterbinden kann man übrigens einfach die jeweils betroffene Eigenschaft deaktivieren, und anschliessend wieder aktivieren.
Beispiel:

Delphi-Quellcode:
var
  neSave : TNotifyEvent;

begin
  neSave := CheckBox1.OnCheck;
  try
    CheckBox1.OnCheck := nil;
    CheckBox1.Checked := true;
  finally
    CheckBox1.OnCheck := neSave;
  end;
end;

shifter 3. Okt 2006 15:05

Re: ListView, breite ändern - Items neu zeichnen.
 
Irgend wie versteht mich hier niemand :( .

Wenn ich Explorer in einder stelle wo ich Bilder habe öffne mit ansicht z.B. Mittelgrosse symbole,
bekomme ich zu sehen Thumbnails mit beschriftung. Wenn ich das Fenster jetzt vergrössere oder verkleinere, passen sich die Items den Fenster an ( ministens von der breite ).
Also wenn Fensterbreite ist X -> passen da z.B. 5 Objekte in der breite. Wenn ich jetzt das Fenster vergrössere X+200px Passen jetzt z.B. 7 Objekte in der Breite.

Und das möchte ich hinkriegen.

gruss
seba

Christian Seehase 3. Okt 2006 17:12

Re: ListView, breite ändern - Items neu zeichnen.
 
Moin seba,

ach so, Du verwendest ViewStyle vsIcon, daran hatte ich ja nun gar nicht gedacht :wall:

Allerdings:
Bei mir werden die, je nach Grösse des ListView, automatisch neu angeordnet.
:gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz