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(); //使对话框拉伸符合位图大小
本文介绍如何使用位图在VS2013 MFC中美化对话框及按钮控件。首先通过在OnPaint消息函数中加载位图实现对话框背景的美化。其次介绍了如何为按钮控件添加四种状态的位图资源,以实现不同状态下的视觉效果。
1万+

被折叠的 条评论
为什么被折叠?



