MFC 的 Picture Control 加载 BMP/PNG 图片的方法
1. 加载 BMP
- CStatic* pWnd = (CStatic*)GetDlgItem(IDC_PIC); // 得到 Picture Control 句柄
- pWnd->ModifyStyle(0, SS_BITMAP); // 修改它的属性为位图
- pWnd->SetBitmap((HBITMAP)::LoadImage(NULL, _T("bmp.bmp"),
- IMAGE_BITMAP,
- 100,
- 50,
- LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE));
CStatic* pWnd = (CStatic*)GetDlgItem(IDC_PIC); // 得到 Picture Control 句柄 pWnd->ModifyStyle(0, SS_BITMAP); // 修改它的属性为位图 pWnd->SetBitmap((HBITMAP)::LoadImage(NULL, _T("bmp.bmp"), IMAGE_BITMAP, 100, 50, LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE));
2. 加载 PNG
- CStatic* pWnd = (CStatic*)GetDlgItem(IDC_PIC); // 得到 Picture Control 句柄
- CImage image;
- image.Load(_T("png.png");
- HBITMAP hBmp = image.Detach();
- pWnd->SetBitmap(hBmp);
- pWnd->SetWindowPos(NULL,
- 0,
- 0,
- 100,
- 50,
- SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER);
CStatic* pWnd = (CStatic*)GetDlgItem(IDC_PIC); // 得到 Picture Control 句柄 CImage image; image.Load(_T("png.png"); HBITMAP hBmp = image.Detach(); pWnd->SetBitmap(hBmp); pWnd->SetWindowPos(NULL, 0, 0, 100, 50, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER);
3. 在资源编辑器中选定图片控件 -> Alt+Enter 打开该图片控件的“属性窗口” -> 在 "Type" 中选定图片类型 -> 在"Image"中选定图片对应的资源 ID.