Bitmap



  • Hi Leute,

    ich habe zwei Fragen zum folgenden Quellcode, der eine Bitmap in einem Windows-
    fenster ausgibt:

    #include "stdafx.h"
    #include <stdio.h>
    #include <afxwin.h>

    class CMeinHauptfenster : public CFrameWnd {
    public:
    CMeinHauptfenster();
    protected:
    afx_msg void OnPaint();
    DECLARE_MESSAGE_MAP();

    };
    CMeinHauptfenster::CMeinHauptfenster() {
    Create(NULL, "",WS_SYSMENU, rectDefault);

    };
    void CMeinHauptfenster::OnPaint() {

    CBitmap *pMeinBild = new CBitmap;
    pMeinBild->LoadBitmap(IDI_ICON1);

    BITMAP bm;
    CPaintDC dc(this);
    CDC MeinDC;
    MeinDC.CreateCompatibleDC(NULL);
    MeinDC.SelectObject(pMeinBild);
    pMeinBild->GetObject(sizeof(bm), &bm);

    dc.BitBlt(10,10, bm.bmWidth, bm.bmHeight, &MeinDC,15,15,SRCCOPY);

    }
    BEGIN_MESSAGE_MAP(CMeinHauptfenster,CFrameWnd)
    ON_WM_PAINT()
    END_MESSAGE_MAP()

    class CMeineAnwendung : public CWinApp {
    public:
    virtual BOOL InitInstance();
    };

    BOOL CMeineAnwendung::InitInstance() {
    m_pMainWnd = new CMeinHauptfenster();
    m_pMainWnd -> ShowWindow(SW_SHOW);

    return TRUE;
    }
    CMeineAnwendung Programm;

    /////////////////////////////////////////////////////////////////////

    1. Frage:
    Wie wird eine zweite Bitmap über der alten erzeugt(ich hatte bei der zweiten
    an eine kleinere gedacht, also so, das die erste noch zu sehen ist).

    2.Frage:
    Wie spreche ich die Parameter von der Funktion BitBlt separat an?(die
    Funktion BitBlt habe ich im Quellcode makiert.)

    Vielen Dank schon mal im Vorraus!

    Gruß Crabbe



  • siehe: http://www.henkessoft.de/mfc_einsteigerbuch_kapitel4.htm
    dort z.B. transparente Bitmap-Darstellung.


Anmelden zum Antworten