Bitmaps auf Fläche platzieren



  • Hallo,
    wie kann ich mit Visual C++ Bitmaps mit der Maus auf die Fläche platzieren. Mit OnLButtonDown könnte man automatisch die Position bekommen. Aber wie kann ich die Bitmaps laden?



  • Kleines Beispiel:

    CBitmap pBmp;
    pBmp.LoadBitmap(MAKEINTRESOURCE(BILD_NAME));
    


  • mit CDC und BltBlit kannst es dann auf dein Fenster zeichnen.



  • Hi jeneube,
    hab einen Codeschnipsel, der die Darstellung macht:

    HBITMAP hbitmap;
    hbitmap=::LoadBitmap(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1));
    HDC hMemDC = CreateCompatibleDC (NULL);
    SelectObject(hMemDC, hbitmap);
    
    //Bild in Originalgröße darstellen
    ::BitBlt(dc.m_hDC,10,10,256,256,hMemDC,10,10,SRCCOPY);
    

    Bei der BitBlt müsstest du dir dann die für den linken oberen Punkt die Koordinaten der Maus holen und die restlichen Parameter im Code ebenfalls deinen Gegenheiten anpassen.
    Dies ist allerdings ne Dialoganwendung, bei SDI und MDI gehts bissle anders, aber dafür gibts ein Beispiel bei MSDN, weiß nur leider den Links nimmer.

    Grüße Squeegee



  • benutzt lieber die KLassen CDC und CClientDC anstatt mit Handles zu arbeiten


Anmelden zum Antworten