MFC对话框界面美化
来源:互联网 发布:win7 nls数据丢失 编辑:程序博客网 时间:2024/04/29 11:15
1、MFC标准对话框界面
MFC标准对话框界面并不美观,也不符合产品个性化需求,因此需要对对话框界面进行美化。
可以增加如下美化工作:
1)背景贴图
2)控件贴图
3)控件类优化
2、背景贴图
添加消息相应函数OnEraseBkgnd
BOOL CuiDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CRect rect;
GetClientRect(&rect);
CBitmap m_pBmp;
BITMAP bm;
CDC dcMem;
m_pBmp.LoadBitmap(IDB_BITMAP1);
m_pBmp.GetBitmap(&bm);
dcMem.CreateCompatibleDC(pDC);
CBitmap* pOldBitmap = dcMem.SelectObject(&m_pBmp);
pDC->SetStretchBltMode(COLORONCOLOR);
pDC->StretchBlt(0,0,rect.Width() ,rect.Height(),
&dcMem,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
dcMem.SelectObject(pOldBitmap);
return TRUE;
//return CDialogEx::OnEraseBkgnd(pDC);
}
为了使图片IDB_BITMAP1在对话框中正常显示,注释掉系统添加的返回语句
return CDialogEx::OnEraseBkgnd(pDC);
修改成return TRUE;
3、控件贴图
HBITMAP hBitmap;
hBitmap = LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BTN_MATCH));
((CButton *)GetDlgItem(IDC_BTN_TOOL_MATCH))->SetBitmap(hBitmap);
加载图片IDB_BTN_MATCH,并与按键IDC_BTN_TOOL_MATCH关联。
4、控件类优化
CShadeButtonST m_BtnStart;
m_BtnStart.SetBitmaps(IDB_BMP_RUN,RGB(0,0,0));
CShadeButtonST 类,通过调用SetBitmaps成员函数,可以直接添加图片IDB_BMP_RUN,
并指定透明色RGB(0,0,0),这样就可以根据图片的形状来显示按键。
但是需要添加老外写的几个类的定义,以下相关头文件和源文件:
1)ShadeButtonST.h和ShadeButtonST.cpp
2)BtnST.h和BtnST.cpp
3)BCMenu.h和BCMenu.cpp
4)CeXDib.h和CeXDib.cpp
5、源码下载
点击打开链接
- MFC对话框界面美化
- 用MFC做漂亮界面之美化对话框
- MFC对话框美化
- MFC美化界面
- MFC界面美化方法
- MFC美化界面
- MFC界面美化方法
- Skinmagic--MFC界面美化
- MFC 界面美化 Skinmagic
- MFC 界面美化 Skinmagic
- MFC界面美化
- MFC皮肤界面美化
- 使用SkinMagic美化MFC对话框
- 用SkinH美化MFC对话框
- 如何美化界面(MFC)
- MFC界面换肤美化
- MFC基于对话框程序界面之皮肤美化(Skin Magic)--附案例源码
- 【EasyUse】一键式检索框-界面美化参考。MFC自绘对话框加图和Button
- C++文件读写详解(ofstream,ifstream,fstream)
- 四大内置对象
- 内存模型,Java内存模型,volatile关键字解析
- UI基础-UITableViewHeaderFooterView组标题数据不加载,好友列表只能点击不能打开
- 改变图片的饱和度、亮度、对比度
- MFC对话框界面美化
- 聚类算法:K均值
- 数据库
- hive批量导入到hbase
- float 几个属性在应用中的小问题
- Android 资源管理 Asset 、Raw 和Drawable
- IOS(UI)_UILabel(标签)
- 你应该知道的25道Javascript面试题
- iOS每日一记-----把window暂时的移除到屏幕外面 pop到指定的Viewcontroller