CBrush und CBitmap



  • Moin!
    Meine Frage ist folgende:
    Ich möchte ein Bitmap von einer SDI-Anwendung anzeigen lassen.
    Das funktioniert mit u.g. Code auch einwandfrei, jedoch nicht an beliebigen Koordinaten.
    Das Bitmap wird unsichtbar immer nebeneinander angeordnet und dort wo ich das Rechteck male, wird es sichtbar. Aber eben dann nur ein Ausschnitt des Bildes, oder mehrere. Ich kann das Bitmap also nicht verschieben, es ist immer von links oben aus nebeneinander angeordnet.
    Hier der Code der OnDraw() aus der view.cpp:

    CRect m_client_rect;
    GetClientRect(m_client_rect);

    CBitmap* ship_bitmap = new CBitmap();
    ship_bitmap->LoadBitmap(IDB_SHIP);

    CBrush brPattern;
    CBrush* oldBrush;
    brPattern.CreatePatternBrush(ship_bitmap);

    oldBrush = pDC->SelectObject(&brPattern);
    pDC->Rectangle(4, 4, 44, 44);

    pDC->SelectObject(oldBrush);

    Das funktioniert auch, nur weil ich aber z.B. x=4 angegeben habe, so sind die obersten 3 Pixel des Bitmap abgeschnitten, weil dieses immer bei 1,1 angeordnet wird. 😞

    Wer kann helfen?



  • Du solltest ein Bitmap mittels BitBtl zeichnen, da kannst Du angeben wo es sein soll...


Anmelden zum Antworten