Bitmaps in einem CListCtrl anzeigen



  • Hi,

    also ich hab hier in der FAQ http://www.c-plusplus.net/forum/viewtopic.php?t=39121 eine super Beitrag gefunden.

    Ich hab nun noch ein Problem 😕 :

    Das Programm starte auch normal ohne Fehler 🤡 zu bringen. 👍 Wenn ich nun den Button drücke, welcher den ganzen Code zum laufen bringt, zeichnet der in das Listenelement ein leeres Bitmap. 😮

    Das

    pListCtrl->InsertItem(0,"Bitmap",0);
    

    zeigt er aber richtig an.

    Hat jemand eine Idee was ich übersehen habe? 💡

    Hier der Code so wie ich ihn übernommen habe:

    void CImaglistDlg::OnLaden() 
    {
    	int size = 128;
    	CBitmap bitmap,bit;
    	BITMAP bm;
    
    	bitmap.Attach(LoadImage(NULL,"Bilder/c.bmp",IMAGE_BITMAP,NULL,NULL,LR_LOADFROMFILE|LR_DEFAULTCOLOR|LR_DEFAULTSIZE));
    
    	bitmap.GetObject(sizeof(bm), &bm); 
    	{ 
            CDC speicherDC; 
            speicherDC.CreateCompatibleDC(GetDC()); 
            speicherDC.SelectObject(&bitmap); 
    
            CDC BmpDC; 
            BmpDC.CreateCompatibleDC(GetDC()); 
            bit.CreateCompatibleBitmap(GetDC(),size,size);
            BmpDC.SelectObject(&bit); 
    
            BmpDC.SetStretchBltMode(HALFTONE); 
            ::SetBrushOrgEx(BmpDC.m_hDC ,0,0,NULL); 
    
            BmpDC.StretchBlt(0, 0,size,size,&speicherDC, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY); 
    	} 
    
    	CImageList m_ImageList; 
    	m_ImageList.Create(size,size,ILC_COLOR24,1,1); 
    	m_ImageList.Add(&bit , RGB(0,0,0)); 
    
    	CListCtrl * pListCtrl = (CListCtrl*) GetDlgItem(IDC_LIST); 
    	pListCtrl->SetImageList(&m_ImageList,LVSIL_NORMAL); 
    	pListCtrl->InsertItem(0,"Bitmap",0);
    
    }
    

    mfg blub 😕



  • 😮 keiner ne Idee? Bitte, Bitte, Bitte.

    Also hab es mit verschiedenen Bildern nun probiert und es geht trotzdem nicht. 😡 Mir kommt es schon so vor als ob er das Bitmap transparent macht 😞 .

    mfg blub 😕



  • Was passiert, wenn du
    "Bilder/c.bmp"
    in
    "Bilder\\c.bmp"
    änderst ?



  • Da macht der auch nix, das blöde ist ja das laut debugger was in bitmap geladen wird und das auch mit bit von den Zahlen her übereinstimmt. 🙄 Hab nun auch schon mit Draw rumprobiert. Laut MSDN ist ja auch alles richtig, deserwegen weiß ich wirklich nimmer woran es liegt. 😞

    mfg blub 😕



  • So, ich mal wieder. Hab jetzt als Spaß mal ne AfxMessageBox mit reingehauen. 🤡 Jetzt zeichnet er das Bild zwar, aber wenn ich die AfxMessageBox rausnehm, geht es wieder nicht.

    Wenn er schonmal was in die Liste eingetragen hat 😡 , dann schafft er es net beim scrollen das bild neu zu zeichnen. Gibt es da noch ne Einstellung in MFC damit das funzt? 🙄

    mfg blub 😕


Anmelden zum Antworten