ListView

Wohl das A & O in der Windows-Programmierung

Moderatoren: crack, Krüsty, Marwin

Antworten
Rainer
Alter Hase
Beiträge: 81
Registriert: Freitag 21. Juli 2006, 14:39
Wohnort: Senftenberg
Kontaktdaten:

ListView

Beitrag von Rainer » Samstag 20. Juni 2009, 14:14

Hallo,

ich muss in einer ListView-Spalte mehr als 260 Zeichen unterbringen (Virtual-ListView). Weiß jemand, wie man das hinkriegt?

Danke schon mal.

Gruß Rainer

Benutzeravatar
crack
Administrator
Beiträge: 280
Registriert: Dienstag 21. Dezember 2004, 15:02
Wohnort: 53783 Eitorf
Kontaktdaten:

Re: ListView

Beitrag von crack » Dienstag 30. Juni 2009, 18:09

Meinst Du damit eine Listview Darstellungs Funktion aus der Win32 API?
mit freundlichen grüssen,
with best regards,

crack

Rainer
Alter Hase
Beiträge: 81
Registriert: Freitag 21. Juli 2006, 14:39
Wohnort: Senftenberg
Kontaktdaten:

Re: ListView

Beitrag von Rainer » Donnerstag 16. Juli 2009, 18:24

Hallo crack,
es geht darum, in ein Virtual-Listview-Feld mehr als 260 Zeichen, was standardmäßig ja das Maximum ist, zu schreiben. Wie üblich stehen die Daten dafür in einem Array. Ich denke mal, das Virtual-Listview benutzt eine feste Struktur, die müsste man dann wohl ändern... ich weiß nur nicht, wie.

Gruß Rainer

Benutzeravatar
crack
Administrator
Beiträge: 280
Registriert: Dienstag 21. Dezember 2004, 15:02
Wohnort: 53783 Eitorf
Kontaktdaten:

Re: ListView

Beitrag von crack » Sonntag 19. Juli 2009, 19:07

Die Struktur über die die Daten an ListView übergeben werden heist "LV_ITEM" und dort gibt es einen Parameter 'cchTextMax', dem Namen nach könnte das der Parameter sein der eine Limitierung der Textlänge setzt.
Am besten Du lädst Dir mal von unserer Hauptseite die Win32SDK.hlp runter, da steht das ganze ausführlich drin.
mit freundlichen grüssen,
with best regards,

crack

Rainer
Alter Hase
Beiträge: 81
Registriert: Freitag 21. Juli 2006, 14:39
Wohnort: Senftenberg
Kontaktdaten:

Re: ListView

Beitrag von Rainer » Sonntag 19. Juli 2009, 19:15

Hallo crack,

ist schon klar, die Struktur benutze ich natürlich. Unter cchTextMax steht aber:

Size of the buffer pointed to by the pszText member if the structure is receiving item attributes. If the structure specifies item attributes, this member is ignored.

Das heißt, bei LVN_GETDISPINFO ist in der LV_DISPINFO auch LV_ITEM enthalten und dort kann man dann die Länge über cchTextMax ermitteln. Sie läßt sich dort aber nicht setzen.

Gruß Rainer

Benutzeravatar
crack
Administrator
Beiträge: 280
Registriert: Dienstag 21. Dezember 2004, 15:02
Wohnort: 53783 Eitorf
Kontaktdaten:

Re: ListView

Beitrag von crack » Montag 20. Juli 2009, 21:55

Ich überlege ob das Limit nicht 'hardcoded' ist, den VirtualListView dient ja der Darstellung von Ordnerinhalten, und Dateinamen sind ja max 256 Bytes lang ...
mit freundlichen grüssen,
with best regards,

crack

Rainer
Alter Hase
Beiträge: 81
Registriert: Freitag 21. Juli 2006, 14:39
Wohnort: Senftenberg
Kontaktdaten:

Re: ListView

Beitrag von Rainer » Dienstag 21. Juli 2009, 00:33

... kann schon sein, dass MAX_PATH (Systemvariable von Windows, mit 260 Bytes definiert) hier die Grundlage ist. In Virtual-ListViews wird ja eh nicht wie sonst üblich die LV_ITEM Struktur gefüllt und dann mit LVM_INSERTITEM bzw. ab Feld 1 LVM_SETITEMTEXT Text eingesetzt. Dort kann der Text übrigens auch länger als 260 Zeichen sein.

Jetzt werde ich mich noch ein wenig mit der DLL-Geschichte beschäftigen, ist mir unklar, früher in PBWin70 war DLLs erstellen überhaupt kein Problem.

Gruß Rainer

Antworten