【1】拖个控件Picture Control到对话框中

【2】为控件添加一个变量m_picControl
【3】加载图片
HBITMAP hBitmap = (HBITMAP)LoadImageA(NULL, "Z:/testProj/res/bitmap2.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
m_picControl.SetBitmap(hBitmap);
【4】问题解决
此时发现无法显示图片,这是因为你没有加载图片的类型,默认是Frame

【5】调整图片大小
HDC dc = GetDC()->m_hDC;
HBITMAP hBitmapNew;
TranslateBitmapSize(dc, hBitmap, 140, 140, hBitmapNew, 50, 50);
BOOL TranslateBitmapSize(
IN HDC hCurScreemDC, //当前屏幕DC,可通过GetDC获得
IN HBITMAP hBmpSrc, //原BITMAP句柄
IN int nSrcWidth, //原BITMAP的宽度
IN int nSrcHeight, //原BITMAP的高度
OUT HBITMAP &hBmpDst, //改变大小后的BITMAP的句柄
IN int nDstWidth, //改变大小后的BITMAP的宽度
IN int nDstHeight //改变大小后的BITMAP的高度
)
{
if (hBmpSrc == NULL || hCurScreemDC == NULL)
{
return FALSE;
}
if (hBmpDst != NULL)
{
DeleteObject(hBmpDst);
}
HDC hOldSrcDC = NULL;
HDC hOldDstDC = NULL;
HDC hSrcDC = CreateCompatibleDC(hCurScreemDC);
HDC hDstDC = CreateCompatibleDC(hCurScreemDC);
hBmpDst = CreateCompatibleBitmap(hCurScreemDC, nDstWidth, nDstHeight);
hOldSrcDC = (HDC)SelectObject(hSrcDC, hBmpSrc);
hOldDstDC = (HDC)SelectObject(hDstDC, hBmpDst);
StretchBlt(hDstDC, 0, 0, nDstWidth, nDstHeight, hSrcDC, 0, 0, nSrcWidth, nSrcHeight, SRCCOPY);
SelectObject(hSrcDC, hOldSrcDC);
SelectObject(hDstDC, hOldDstDC);
DeleteObject(hSrcDC);
DeleteObject(hDstDC);
return TRUE;
}