Don_Pazo Geschrieben 21. Februar 2006 Geschrieben 21. Februar 2006 Hallo, ich habe ein Dialog mit einem Listelement. Ich möchte so was ereichen: ------------------------------------- Name | Status | Status | Status ------------------------------------- Anna | G | GL | R Mila | G | G | G -------------------------------------- Jeweils sind: G = Grün; GL = Gelb; R = Rot; Die Fargen habe ich als *.ico Dateien und sind auch in VC als IDR_GRUEN, IDR_GELB, IDR_ROT importiert. in On INITDIALOG habe ich: HICON hIcon = NULL; // Create image list m_ImageList.Create(16, 16, NULL, 3, 1); // Add some icons hIcon = AfxGetApp()->LoadIcon(IDR_GRUEN); m_ImageList.Add(hIcon); hIcon = AfxGetApp()->LoadIcon(IDR_GELB); m_ImageList.Add(hIcon); hIcon = AfxGetApp()->LoadIcon(IDR_ROT); m_ImageList.Add(hIcon); m_List1.SetImageList(&m_ImageList,LVSIL_NORMAL); // von CListBox m_List1.InsertColumn(0, "Name" ,LVCFMT_LEFT, 100); m_List1.InsertColumn(1, "Status " ,LVCFMT_LEFT, 70); // Elemente einfügen m_List1.InsertItem(0, "Anna"); // HIER WILL ICH DIE ICONEN INCLUDEN Meinem Problemm ist, ich weiss es nicht wie ich die Image´s in der Listelement schreiben kann. Könnte mir bitte jemand helfen ??
Klotzkopp Geschrieben 21. Februar 2006 Geschrieben 21. Februar 2006 Das Standard-Listcontrol kann Icons nur vor dem Text in der ersten Spalte anzeigen. Wenn dir das nicht reicht, musst du selbst zeichnen. Hier ist eine gute Anlaufstelle.
Klotzkopp Geschrieben 21. Februar 2006 Geschrieben 21. Februar 2006 Hab Quatsch erzählt. Wenn dein Listcontrol den Extended Style LVS_EX_SUBITEMIMAGES hat, sollte das gehen.
Don_Pazo Geschrieben 21. Februar 2006 Autor Geschrieben 21. Februar 2006 Das funktioniert: CWinApp* pApp = AfxGetApp(); HICON hStan, hKyle, hCartman; // Set up the image list. m_ImageList.Create ( 48, 48, ILC_COLOR16 | ILC_MASK, 3, 1 ); hStan = reinterpret_cast<HICON>( ::LoadImage ( AfxGetResourceHandle(), MAKEINTRESOURCE(IDR_G), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR )); hKyle = reinterpret_cast<HICON>( ::LoadImage ( AfxGetResourceHandle(), MAKEINTRESOURCE(IDR_GL), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR )); hCartman = reinterpret_cast<HICON>( ::LoadImage ( AfxGetResourceHandle(), MAKEINTRESOURCE(IDR_R), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR )); m_ImageList.Add ( hStan ); m_ImageList.Add ( hKyle ); m_ImageList.Add ( hCartman ); m_List1.SetImageList ( &m_ImageList, LVSIL_SMALL ); m_List1.InsertColumn ( 0, _T("Name"), LVCFMT_LEFT, 40 ); m_List1.InsertColumn ( 1, _T("Status"), LVCFMT_LEFT, 30); // And set up the list items. m_List1.InsertItem ( 0, _T(""), 0 ); m_List1.InsertItem ( 1, _T(""), 1 ); m_List1.InsertItem ( 2, _T(""), 2 ); m_List1.SetColumnWidth ( 0, LVSCW_AUTOSIZE ); m_List1.SetExtendedStyle ( LVS_EX_FULLROWSELECT ); Aber so habe ich die Image nur in erste Spalte, damit ich die Image in der 2, 3 ... einfügen kann, brauche ich int InsertItem( UINT nMask, int nItem, LPCTSTR lpszItem, UINT nState, UINT nStateMask, int nImage, LPARAM lParam ); Ich verstehe aber nicht die Optionen UINT nMask, UINT nState, UINT nStateMask und LPARAM lParam von der Funktion InsertItem. Könnte mir bitte jemand helfen. Ich habe was gelesen leider hilft es mir nicht. Ich brauhe ein Beispiel, wenn es geht.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden