VS2013 MFC使用位图美化对话框
1. 美化对话框
- 添加位图文件Bitmap,其中Bitmap要和对话框的像素大小一致;
在Onpaint消息函数中添加如下代码:
{ CPaintDC dc(this); CBitmap bmp; bmp.LoadBitmapW(IDB_BITMAP_BKGROUND); //IDB_BITMAP_BKGROUD为自己加载的位图 BITMAP bmpInfo; bmp.GetBitmap(&bmpInfo); CDC dcMemory; dcMemory.CreateCompatibleDC(&dc); CBitmap* pOldbmp = dcMemory.SelectObject(&bmp); dc.BitBlt(0, 0, bmpInfo.bmWidth, bmpInfo.bmHeight, &dcMemory, 0, 0, SRCCOPY); dcMemory.SelectObject(pOldbmp); }
2. 美化按钮控件
- 添加位图按钮控件 CBitmapButton实例 m_button_import;
- 添加位图文件Bitmap,其中Bitmap文件要四种,分别对应控件的初始 _u、悬浮 _f、点击 _d、无效 _x;
在对话框初始化函数OnInitDialog()中添加代码:
m_button_import.LoadBitmaps(IDB_BITMAP_IMPORT_U, IDB_BITMAP_IMPORT_D, IDB_BITMAP_IMPORT_F, IDB_BITMAP_IMPORT_X); //读取位图,顺序不可变 m_button_import.SubclassDlgItem(IDC_BUTTON_IMPORT, this); //绑定控件 m_button_import.SizeToContent(); //使对话框拉伸符合位图大小