| |
|
|
| Servus Frank Ich schreib mal hier,vielleicht kennt ja auch jemand anderes dieses Problem. Ich erzeuge 2 Listviews eins auf einem Hwnd und eines auf einem Dialog rufe ich nun vor dem erstellen des zweiten LV auf dem Dialog im Hwnd das Profaneigene Loadfile auf wirds richtig Lustig. Wenn ich jetzt den Dialog anzeige und darauf ein LV erzeuge das eine Dateiliste (FilelistToCsv) erzeuge werden die Icons nicht mehr !! oder völlig falsch angezeigt. Lass ich das Loadfile weg..ist ALLES in Ordnung !!!
Es liegt an Loadfile da bin ich mir nach 3Tagen rumwühlen im Code sicher .... aber wer weis ???
Habe an Frank mal einen lauffähigen Code gemailt
Gruß Klaus |
|
|
| |
|
|
|
| Hallo ich glaub ich habs
wenn mann ilist&=@CreateImageList(1,addr(anzahl2&)) also die Imagelist für FilelistToCsv vor dem 1.ten Aufruf von Loadfile setzt,dan gehts...bis jetzt...
mich würde aber trotzdem interresieren warum das so ist ?? setzt etwa Loadfile eine Imagelist die dann irgendwie im Speicher hängt und beim anfordern einer neuen Imagelist was nicht stimmt ???
Danke für alle Antworten Gruß Klaus |
|
|
| |
|
|
|
| Hallo Klaus,
hey, du hast die Lösung ja schon gefunden. Da hätte ich mir mein Testen ja sparen können
Es scheint so, als würde LoadFile die System-Imageliste manipulieren und/oder erweitern, sodas FileListToCsv() dann mit verkehrten Iconoffsets arbeiten. In der Systemimagelist befinden sich immer die Icons, die das System ständig verfügbar haben muß, und die durch Windowsfunctionen benutzt werden/wurden. Dein Lösung ist richtig. Du kannst auch deinem Listview jederzeit eine neue (aktuelle?) Immagelist zuweisen, hierbei wird die alte automatisch freigegeben.
Gruß, Frank |
|
|
| |
|
|
|
| Hallo Frank Sorry..wenn ich Dir nicht gemailt habe
aber nochmal zur Imagelist... wenn ich erst die Imagelist fürs Listview erstelle dann erst Loadfile aufrufe ..alles ok
ruf ich erst Loadfile auf und dann die Imagelist fürs Listview....CHAOS
so jetzt hab ich aber auch folgendes gemacht ..erst Listview mit Imagelist ..Listview zerstört destroywindow + EraseListview ..Loadfile ..wieder Listview mit NEUER Imagelist und es geht
Der Fehler ist IMMER nur beim ERSTEN aufruf von Loadfile wenn dieses VOR dem ERSTEN aufruf von den Listview Routinen ist dazwischen kann ich Loadfile sooft aufrufen wie ich will die Imagelist fürs Listview ist korrekt egal ob ich sie nach einem loadfile neu erstelle
aber wird schon seinen Grund haben ....
Gruß Klaus |
|
|
| |
|
|
|
| Hi,
Windows Wege sind oft unergründlich...
Ist wirklich nicht meine Schuld, ich fordere die Systemimageliste nur von Windows an. Ob ich jetzt das Handle davon bekommen, oder ob Windows mir eine Kopie der Liste macht, weiss ich nicht genau. Über solche Dinge schweigt sich SDK / Win32.hlp aus.....
Gruß, Frank |
|
|
| |
|
|
|
| Hi, hab ja auch nicht gesagt das Du Schuld bist
ich denk mir schon das hier Windows selbst was rumbastelt wollts halt nur noch mal genauer erklären,wies zu dem Fehler? kommt.. da ich es halt nicht verstehe aber doch ganz gern gewusst hätte.
Aber mal was anderes,es gibt doch noch einen anderen Dateiauswahldialog unter XP ich meine den etwas kleineren wo die Dateien Verzeichnisse nicht Standardmässig untereinander stehen und links die großen Icons fehlen Kennst Du zufällig hier die API ??? würde gerne noch was probieren
Gruß Klaus |
|
|
| |
|
|
|
| Hi,
meinst du das System treeview? Hab kein Beispiel parat, aber in Uwe Pascal Niemeiers ProfASM Paket ist ein schönes Beispiel enthalten.
Gruß, Frank |
|
|
| |
|
|