AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie nutzt man ViewOrigin in ListView?

Ein Thema von bluescreen25 · begonnen am 15. Okt 2006 · letzter Beitrag vom 15. Okt 2006
Antwort Antwort
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#1

Wie nutzt man ViewOrigin in ListView?

  Alt 15. Okt 2006, 19:58
Wie nutzt man ViewOrigin in einem Listview mit ViewStyle = vsSmallIcon ?

Ich möchte zum Beispiel ein bestimmtes Item im sichtbaren Bereich der Listview halten oder auch ein bestimmtes Item in der Mitte des sichtbaren Bereichs automatisch scrollen.
Bei Listboxen gibt es TopItem und ItemIndex zum Festlegen und Berechnen für den sichtbaren Bereich.

Alternative: kann man das Listview dazu bringen im ViewStyle = vsList nicht nebeneinander sondern ausschließlich untereinander zu listen, wie im Explorer in "Details"-Anzeige?

Grüße bluescreen25
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Wie nutzt man ViewOrigin in ListView?

  Alt 15. Okt 2006, 20:08
Zitat von bluescreen25:
Alternative: kann man das Listview dazu bringen im ViewStyle = vsList nicht nebeneinander sondern ausschließlich untereinander zu listen, wie im Explorer in "Details"-Anzeige?
Dafür gibt es vsReport. Du musst hierfür allerdings Spalten (Columns) anlegen, wobei du diese Spaltennamen (vgl. Explorer) nachher auch ausblenden lassen kannst). Mit vsList geht das afaik nicht. Falls du nur eine SPalte hast (wovon ich ausgehe), gib dieser die Breite -2, dann ist die Spalte so breit wie die ListBox.
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Wie nutzt man ViewOrigin in ListView?

  Alt 15. Okt 2006, 20:19
Zitat von Matze:
Zitat von bluescreen25:
Alternative: kann man das Listview dazu bringen im ViewStyle = vsList nicht nebeneinander sondern ausschließlich untereinander zu listen, wie im Explorer in "Details"-Anzeige?
Dafür gibt es vsReport. Du musst hierfür allerdings Spalten (Columns) anlegen, wobei du diese Spaltennamen (vgl. Explorer) nachher auch ausblenden lassen kannst). Mit vsList geht das afaik nicht. Falls du nur eine SPalte hast (wovon ich ausgehe), gib dieser die Breite -2, dann ist die Spalte so breit wie die ListBox.
Ja vsReport mit ausgeblendeter Spaltenüberschrift geht.


Bei NewColumn.Width:= -2; zeigt er mir gar nichts mehr an. Gleichgesetzt mit List.Width zeigt mir die letzten 3 Stellen als ...

Grüße bluescreen25
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Wie nutzt man ViewOrigin in ListView?

  Alt 15. Okt 2006, 20:39
-2?

Wieso nicht einfach Column.AutoSize = True? Damit wird immer die ganze Breite des Controls als Spaltenbreite genommen.

Grüße vom marabu
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Wie nutzt man ViewOrigin in ListView?

  Alt 15. Okt 2006, 20:45
Zitat von marabu:
-2?

Wieso nicht einfach Column.AutoSize = True? Damit wird immer die ganze Breite des Controls als Spaltenbreite genommen.

Grüße vom marabu
Bringt irgendwie das gleiche Ergebnis wie auf Listview-Breite gleichzusetzen.
Verkürzen mit ... macht er hier auch auf die letzten 3-4 Stellen

Oder gibt es da Nachteile?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Wie nutzt man ViewOrigin in ListView?

  Alt 15. Okt 2006, 21:00
Zitat von bluescreen25:
[-2] Bringt irgendwie das gleiche Ergebnis wie auf Listview-Breite gleichzusetzen.
Nicht wirklich. Statt -2 schreibt man normalerweise LVSCW_AUTOSIZE_USEHEADER und das hat den Effekt, dass der Text im Header der Column die Breite steuert. Width auf 0 gesetzt und AutoSize = True maximiert die Spaltenbreite - spätestens beim Neuzeichnen.

Zitat von bluescreen25:
Verkürzen mit ... macht er hier auch auf die letzten 3-4 Stellen
Dazu schau mal hier: wie punkte hinter listview eintraegen abschneiden

Grüße
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Wie nutzt man ViewOrigin in ListView?

  Alt 15. Okt 2006, 21:10
Zitat von marabu:
Zitat von bluescreen25:
[-2] Bringt irgendwie das gleiche Ergebnis wie auf Listview-Breite gleichzusetzen.
Nicht wirklich. Statt -2 schreibt man normalerweise LVSCW_AUTOSIZE_USEHEADER und das hat den Effekt, dass der Text im Header der Column die Breite steuert. Width auf 0 gesetzt und AutoSize = True maximiert die Spaltenbreite - spätestens beim Neuzeichnen.

Zitat von bluescreen25:
Verkürzen mit ... macht er hier auch auf die letzten 3-4 Stellen
Dazu schau mal hier: wie punkte hinter listview eintraegen abschneiden

Grüße
wow, das hatte ich irgendwann auch mal im Forum gelesen....

Hmm aber eigendlich noch nicht das richtige. Ich denke die ALLER ALLER schönste Lösung wäre eine zweizeile Beschriftung innerhalb eines Items.....

Das wäre mal ne Herausforderung und sähe auch noch schicker aus...zumindest in meiner Anwendung.
Ist sowas überhaupt möglich?

Viele Grüße, bluescreen25
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Wie nutzt man ViewOrigin in ListView?

  Alt 15. Okt 2006, 21:17
Vielleicht verstehe ich ja nicht was du wirklich willst, aber zweizeilige Texte in einer ListView mit ViewStyle vsReport? Da kannst du ja gleich ein StringGrid im OwnerDraw-Modus verwenden - Bildchen und mehrzeilige Ausgabe ist doch da überhaupt kein Problem. Oder brauchst du die anderen ViewStyles für irgendwas?

Grüße
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Wie nutzt man ViewOrigin in ListView?

  Alt 15. Okt 2006, 21:25
Zitat von marabu:
Vielleicht verstehe ich ja nicht was du wirklich willst, aber zweizeilige Texte in einer ListView mit ViewStyle vsReport? Da kannst du ja gleich ein StringGrid im OwnerDraw-Modus verwenden - Bildchen und mehrzeilige Ausgabe ist doch da überhaupt kein Problem. Oder brauchst du die anderen ViewStyles für irgendwas?

Grüße
Hmm, naja das ganze ist für eine Playliste für einen Mediaplayer.
Haben uns zu Anfang auf das ListView eingeschossen, da es auch die Icons mitverwaltet.
Dann haben wir festgestellt, das es für viele Einträge zu langsam ist.
Jetzt ist das ListView virtual und arbeitet schnell.
Nun sitzt man davor, es grafisch etwas ansehnlicher zu bekommen, schauten schon danach, wie man den Hintergrund transparent bekommt, aber das scheint ja ein Problem zu sein.
Die zweizeilige Anzeige ist in sofern gut, weil die Liste schmal ist.

Mein eigenes letztes Projekt war noch mit einer Listbox.

Grüße, bluescreen25
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:46 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