Ich schreibe ein Programm, das soll eine Liste mit Dateien mit den zugehörigen Icons anzeigen. Die Dateien sind gegeben, aber wie kann ich denn die Icons dazu finden?
Funktioniert eigentlich ganz gut, doch ich weiß nicht, woher es kommt, dass die Icons nicht richtig dargestellt werden. In den transparenten Bereichen sind die Icons schwarz und sie haben offensichtlich nur 8 Bit Farbtiefe. Mein Code sieht so aus: //D ist der Pfad der hinzuzufügenden Datei ListViewItem^ New = listView1->Items->Add(D); New->Tag = NewFile; IntPtr PathPtr; SHFILEINFOW FileInfo; LPWSTR Path; PathPtr=System::Runtime::InteropServices::Marshal::StringToHGlobalUni(D); Path = (LPWSTR) PathPtr.ToPointer(); SHGetFileInfoW(Path, 0, &FileInfo, sizeof(FileInfo), SHGFI_ICON); System::Runtime::InteropServices::Marshal::FreeHGlobal(PathPtr); IntPtr^ ImagHandle; ImagHandle = gcnew IntPtr(CopyIcon(FileInfo.hIcon)); this->imageListBig->Images->Add(System::Drawing::Icon::FromHandle(*ImagHandle)); New->ImageIndex = this->imageListBig->Images->Count-1; Danke schon im Voraus, JCoofel