C++技巧:使用PictureControl顯示BMP圖片

字號:

下面是關(guān)于怎樣使用Picture Control顯示BMP圖片:
    查找了一下SetBitmap是這樣定義的:
    // uBmpResource:圖片ID; uCtrlResource: Picture控件ID
    void SetBitmap(UINT uBmpResource, UINT uCtrlResource)
    {
    HBITMAP hBitmap;
    CStatic *pStatic = (CStatic *)GetDlgItem(uCtrlResource);
    hBitmap = (HBITMAP)LoadImage(
    AfxGetInstanceHandle(),
    MAKEINTRESOURCE(uBmpResource),
    IMAGE_BITMAP,
    0,
    0,
    LR_LOADMAP3DCOLORS);
    pStatic->ModifyStyle(0xF, SS_BITMAP);
    pStatic->SetBitmap(hBitmap);
    }
    根據(jù)定義,在對話框初始的時候?qū)懭胂旅娴拇a(結(jié)果成功正常顯示):
    BOOL CLoginDog::OnInitDialog()
    {
    CDialog::OnInitDialog();
    //添加登陸窗口中的圖片
    HBITMAP hBitmap;
    //關(guān)聯(lián)圖片ID
    hBitmap =(HBITMAP)LoadImage(AfxGetInstanceHandle(),
    MAKEINTRESOURCE(IDB_BITMAP_LOGIN_PIC),
    IMAGE_BITMAP,0,0,
    LR_LOADMAP3DCOLORS);
    //獲得指向靜態(tài)控件的指針
    CStatic *pStatic=(CStatic *)GetDlgItem(IDC_STATIC_PIC);//控件ID
    //設(shè)置靜態(tài)控件的樣式,使其可以使用位圖,并試位標顯示使居中
    pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
    //設(shè)置靜態(tài)控件顯示位圖
    pStatic->SetBitmap(hBitmap);
    return TRUE;
    }