Re: ListView, breite ändern - Items neu zeichnen.
Zitat:
Der ansatz WM_RESIZE ist nicht verkehrt.! Reicht aber nicht. Du benötigst den REC des Listviews. Holen über die API GetWindowRrec vom hwnd des Listviews. Die breite des Rec vergleichen mit der Anzahl an objekten dann dadurch teilen und neu zeichnen gruß |
Re: ListView, breite ändern - Items neu zeichnen.
Noch was anderes zu den Thema!
also wenn ich das richtig verstanden habe möchtest du objekte die im Listview angezeigt werden nicht neuzeichnen sondern reorganisieren abhängig von der breite der objekte welche du vorher festgelegt hast. Beispiel: Ein listview ist unterteil in Row und Col stelle es dir also als gitter vor. Wenn du nun zwei objekt hast welche 100x100 groß sind dann benötigst du zwei columheader(col) und ein Row Wird das Listview nun verschoben, verkleinert mußt du dafür sorge tragen das wie oben beschrieben du den REC des Listview kennst. Den holst du über GetWindowRec(handle vom listview). Diesen mußt du immer durch die breite und höhe deiner Objekte teilen. Da abhängig davon row/cols entfernt bzw.. addiert werden. Nur breite verändern! Ist der rec weniger als 200 + space(freiraum zwischen jeden objekt) dann mußt du dafür sorgen das dein objekt scaliert wird oder aber Col um 1 minimiert wird. Bei der ersten Methode bleiben beide objekte erhalten aber verkleinert Bei der zweiten ist nur noch eins vorhanden(sichtbar). Wenn du beides verschiebst. geht es im grunde genauso. Also wenn breite mehr als 200 + space dann col addieren und row abziehen wobei das objekt von Row dann in den neu geschaffenenen Columnheader angezeigt wird. Hoffe das ist es was du meinst. Sorry für die lange geschichte! gruß |
Re: ListView, breite ändern - Items neu zeichnen.
Das ist exackt was ich brauche.
Aller dings ich komme mit der materie nicht ganz klar. Aber bevor ich Euch weiter belestige werde ich noch versuchen das selber zu lösen, klingt aber schririg. Vor allem wie bringe ich ihm dazu es die Items zu zeichnen da wo ich sie brauche. hmm .. ich werde versuchen. danke erstmal. gruss seba |
Re: ListView, breite ändern - Items neu zeichnen.
Delphi-Quellcode:
Eigentlich wenn es standard items sind zeichnen sich diese von selbst.
Vor allem wie bringe ich ihm dazu es die Items zu zeichnen da wo ich sie brauche.
Wenn du aber Thumbnails in der Listview anzeigen willst, mit Rahmen und so das wird schwieriger. gruß |
Re: ListView, breite ändern - Items neu zeichnen.
Das ist nähmlich der fall, ich will Thumbnails zeichnen mit allem drum und Dran.
Habe erst mit ScrollBox versucht hatt eingentlich ganz gut geklapt aber es war zu langsam. Ich habe mir erhoft mit ListView geht es schneller. gruss seba |
Re: ListView, breite ändern - Items neu zeichnen.
Wie kann ich den Abstand zwischen den Thumbnails ( Items ) ändern ???
gruss seba |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 Uhr. |
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