CListCtrl mit grauen Pfeilen für Sortierung



  • Hallo,

    wie bekomme ich die Pfeile oben in die Titel eines CListCtrl?



  • Einfach ein Klasse von CListCtrl ableiten und darin dann so:

    /*
    ===================================================================================
    	Funktion zum Malen der Pfeile
    ===================================================================================
    */
    
    void CMyListCtrl::SetColIndikator(int Col, BOOL bSortDir)
    {
    	CHeaderCtrl *pHeader = GetHeaderCtrl();
    	HDITEM hItem;
    	int iItemCount = pHeader->GetItemCount();
    	for(int i=0;i<iItemCount;i++)
    	{
    		hItem.mask = HDI_FORMAT;
    		pHeader->GetItem(i, &hItem);
    		if(i!=Col)
    		{
    			hItem.mask = HDI_FORMAT;
    			hItem.fmt &= ~HDF_BITMAP;
    		}
    		else
    		{
    			hItem.mask = HDI_BITMAP | HDI_FORMAT;
    			hItem.fmt |= HDF_BITMAP | HDF_STRING | HDF_BITMAP_ON_RIGHT;
    			if(bSortDir)
    			{
    				hItem.hbm = (HBITMAP)LoadImage(AfxGetInstanceHandle(), 
    					MAKEINTRESOURCE(IDB_ARROWDOWN), IMAGE_BITMAP, 0, 0, LR_LOADMAP3DCOLORS);
    			}
    			else
    			{
    				hItem.hbm = (HBITMAP)LoadImage(AfxGetInstanceHandle(), 
    					MAKEINTRESOURCE(IDB_ARROWUP), IMAGE_BITMAP, 0, 0, LR_LOADMAP3DCOLORS);
    			}
    		}
    		pHeader->SetItem(i, &hItem);
    	}
    }
    

    Gruß T. 🙂



  • Bei Codeproject gibt es CSortListCtrl - funktioniert super, ich nutze es nur noch. 😃



  • danke 👍


Anmelden zum Antworten