bmp aus Datei laden?



  • Hallo
    Habe ein prob mit laden einer bmp aus einer Datei.
    Hab es so probiert wei es unten steht doch geht das nicht. Es wird mir zwar kein fehler gezeigt doch wird auch kein bild angezeigt.
    Kann mir da jemand mit nem Code helfen und vieleicht ne kleine erklärung dazu?

    Mein Code:

    GetDlgItemText (IDC_AIRCRAFT,ctemp,200);
        wsprintf (bild,"c:\\%s.bmp",ctemp);
        CWnd* tmp_cwnd = GetDlgItem(IDC_PIC);
    
        CRect tmp_rect;
        tmp_cwnd->GetWindowRect(&tmp_rect);
        ScreenToClient(&tmp_rect);
        CBitmap  tmpBitmap;
        CBitmap *oldBitmap=NULL;
        tmpBitmap.LoadImage(bild);
    
        CDC tmpMemDC;
        tmpMemDC.CreateCompatibleDC(&dc);
    
        oldBitmap = tmpMemDC.SelectObject(&tmpBitmap);
        dc.BitBlt(tmp_rect.left,
        tmp_rect.top,
        tmp_rect.Width(), tmp_rect.Height(),
        &tmpMemDC, 0, 0, SRCCOPY);
    
        if(oldBitmap != NULL)
        tmpMemDC.SelectObject(oldBitmap);
        tmpMemDC.DeleteDC();
    

    MfG Nico



  • Nunja, ganz einfach, Dein Bild wird HINTER IDC_PIC gezeichnet



  • kannst du mir auch bitte sagen wie ich es schaffe das bild auf IDC_PIC zu legen? Wieos wird das HINTER IDC_PIC gelegt?

    MfG Nico



  • Wo kriegst Du 'dc' her ?



  • ach so hatte ich vergessen mit dazu zu schreiben sorry der code liegt in OnPaint und da is dc doch schon mit enthalten oder irre ich mich?

    MfG Nico



  • Aha, und fällt Dir was auf??
    Das ist der Code vom Dialog::OnPaint und NICHT vom IDC_PIC::OnPaint!!! Daraus folgt, dass der DC auch zum Dialog gehört und NICHT zum IDC_PIC !



  • ok kannst du mir dann bitte nen andren lösungsweg geben so das ich es nicht in OnPaint machen muß (wäre mir auch lieber)?
    Ich komme da echt nich weiter.

    MfG Nico



  • Ganz einfach, wenn IDC_PIC ein CStatic ist:

    CBitmap  tmpBitmap;
    tmpBitmap.LoadImage(bild);
    ((CStatic*)GetDlgItem(IDC_PIC))->SetBitmap( (HBITMAP)tmpBitmap.Detach());
    

    [ Dieser Beitrag wurde am 27.09.2002 um 14:55 Uhr von RenéG editiert. ]



  • ich danke dir erst mal ganz sehr doch kommt die fehlermeldung:
    error C2039: 'LoadImageA' : Ist kein Element von 'CBitmap'

    Nico


Anmelden zum Antworten