Clistctrl und Bitmap aus der FAQ



  • Hallo
    Ich habe aus der FAQ dieses Beispiel gefunden.
    ich habe ein Dialog mit List Controll und Button angelegt.
    Das Bild wird auch richtig geladen,aber nicht angezeigt.
    Angezeigt wird nur dies "Bitmap" von ganz unten.

    Hat jemand eine Idee

    void CLControlDlg::OnBnClickedButton1()
    {
    int size = 96;
    CBitmap bitmap,bit; // Hier werden zwei variablen vom Typ CBitmap erzeugt. "bitmap" ist das quell- und "bit" das zielbitmap, was letzlich angezeigt wird.
    BITMAP bm;			//das ist um die größe des Quellbitmap herauszubekommen.
    bitmap.Attach(LoadImage(NULL,"c:\\g.bmp",IMAGE_BITMAP,NULL,NULL,LR_LOADFROMFILE|LR_DEFAULTCOLOR|LR_DEFAULTSIZE));
    //bitmap.LoadBitmap(IDB_BIT);
    bitmap.GetObject(sizeof(bm), &bm);
    {
            CDC speicherDC;
            speicherDC.CreateCompatibleDC(GetDC());
            speicherDC.SelectObject(&bitmap);
            //so hier wird der Gerätekontex für das quellbitmap erzeugt.
            CDC BmpDC;
            BmpDC.CreateCompatibleDC(GetDC());
            bit.CreateCompatibleBitmap(GetDC(),size,size); //mit CreateCompatibleBitmap erzeugen wir ein bitmap aus einem Gerätekontex. In diesem fall ist das BmpDC
            BmpDC.SelectObject(&bit);
            //hier wird der Gerätekontex für das zielbitmap erzeugt.
            BmpDC.SetStretchBltMode(HALFTONE);
            ::SetBrushOrgEx(BmpDC.m_hDC ,0,0,NULL);
            //die beiden zeilen sind wichtig weil das bild sonst net in den richtigen farben angezeigt wird. Was sie machen weis ich net, dEUs muss mal erklären ;)
            BmpDC.StretchBlt(0, 0,size,size,&speicherDC, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY);
     }
    //Ich denke mal das ich zu hier unten nix sagen muss
    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_LIST1);
    pListCtrl->SetImageList(&m_ImageList,LVSIL_NORMAL);
    pListCtrl->InsertItem(0,"Bitmap",0);
    }
    


  • Kann hier keiner helfen?



  • Schupps 😃



  • Erstma bist du sicher das du im ListCtrl den entsprechenden style benutzt das klappt nähmlich net mit Report.Und vor allem is es auch nen ListCtrl oda nur ne ListBox?


Anmelden zum Antworten