Verständnisproblem bei CListCtrl / IconListe
-
Guten Morgen,
mein CListCtrl funktioniert und zeigt auch Icons aus meiner Imageliste an - nur wird leider immer das erste Icon aus der Liste angezeigt!?!

Ich möchte aber gerne ein bliebiges Icon aus der Liste anzeigen! Wie kann ich die Icons in der List addressieren bzw. dem Listcontrol sagen, welches Icon es in welcher Zeile (respektive für welches Item) anzeigen soll?

Besten Dank für Eure Hinweise!!

-
Dann definiere das Icon auch, wenn Du die Einträgein die Liste setzte, oder ändere. Schau mal in die Doku von InsertItem und SetItem
Beachte die dritte Varante mit nImage.
http://msdn.microsoft.com/library/en-us/vclib/html/_mfc_clistctrl.3a3a.insertitem.aspHier in LVITEM ist es der nImage Member mit gesetzter LVIF_IMAGE Maske
http://msdn.microsoft.com/library/en-us/vclib/html/_mfc_clistctrl.3a3a.setitem.asp
-
Yup - guter Tip! mit dem dritten Parameter läßt sich das Icon auswählen! Prima - vielen Dank.
Weißt Du vielleicht auch, wie man diese Systemicons aus den Messageboxen bekommt? Ich hole mir die Icons aus der Datei "SHELL32.DLL", aber da sind sie nicht dabei...
(Ich meine z.B. den roten Kreis mit dem Kreuz und das Warndreieck)
-
Also bei mir sind die in folgendem Ordner:
C:\Programme\Microsoft Visual Studio .NET 2003\Common7\Graphics\icons\ComputerDas ist jetzt bei MS VS .Net 2003. Keine Ahnung ob die bei den anderen Versionen auch an der Stelle zu finden sind. Am besten suchst du mal deinen Visual Studio Ordner mit der Windows Suche nach .ico ab. Findest dann noch jede Menge anderer Schrott, den man manchmal brauchen kann.
Grüssli
-
Newby007 schrieb:
Weißt Du vielleicht auch, wie man diese Systemicons aus den Messageboxen bekommt? Ich hole mir die Icons aus der Datei "SHELL32.DLL", aber da sind sie nicht dabei...
(Ich meine z.B. den roten Kreis mit dem Kreuz und das Warndreieck)Das geht direkt mit CWinApp::LoadOEMIcon oder CWinApp::LoadStandardIcon oder eben mit der Win32 Funktion:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/icons/iconreference/iconfunctions/loadicon.asp
-
Habe die Funktion LoadStandardIcon ausprobiert:
hIcon = LoadStandardIcon(IDI_ERROR);dabei aber folgrnden Fehler erhalten, obwaohl hIcon vom Typ HICON ist:
error C2270: "LoadStandardIcon" : Modifizierer für Funktionen, die keine Member-Funktionen sind, nicht zulässigDIe Deklaration der Funktion habe ich im Headerfile meines Sourcecodes untergeracht, aber das war wohl nichts...

-
RTFM! (Read the fine MSDN)
LoadStandardIcon ist eine Funktion Deiner CWinApp! Das habe ich doch geschrieben. Also musst Du die Dein CWinApp Objekt holen, wenn Du nicht im Kontext des Objektes bist:AfxGetApp()->LoadStandardIcon(IDI_ERROR);
-
is ja schon gut.. ich ergebe mich
woher soll man das denn alleswissen - ich prgrammier sonst nur VB und Plain-C - von diesen objectorientierten sachen hab* ich keine blasse ahnung... Also vielen Dank mal für Deine Geduld 
übrigens heißt RTFM eigentlich: "read the f..king manuell"...
-
Newbi007 schrieb:
übrigens heißt RTFM eigentlich: "read the f..king manuell"...

Tut es dass?

Für mich heißt RTFM: Read the fine MSDN, denn da steht alles drin!