WM_ERASEBKGND消息
来源:互联网 发布:js body appendchild 编辑:程序博客网 时间:2024/05/22 02:00
参考文章:白乔原创:VC之美化界面篇
Windows在窗口的具体绘制之前,会发送WM_ERASEBKGND消息通知该窗口檫除背景。默认情况下,会以窗口的默认背景色清除窗口。 消息响应函数为:afx_msg BOOL OnEraseBkgnd(CDC* pDC)。 以下Demo为对话框加载了一副位图背景。
1、首先导入一副位图。2、BOOL CMy123Dlg::OnInitDialog(){ ...... m_bitmap.LoadBitmap(IDB_BITMAP1); ......}3、BOOL CMy123Dlg::OnEraseBkgnd(CDC* pDC){ // TODO: Add your message handler code here and/or call default CDC dc; dc.CreateCompatibleDC(pDC); dc.SelectObject(&m_bitmap); //获取BITMAP对象信息 BITMAP hb; m_bitmap.GetBitmap(&hb); //获取窗口客户区大小 CRect rt; GetClientRect(&rt); //显示位图 pDC->StretchBlt(0, 0, rt.Width(), rt.Height(), &dc, 0, 0, hb.bmWidth, hb.bmHeight, SRCCOPY); return TRUE;}4、同时得响应OnCtlColor,设置对话框上所有控件画刷为HOLLOW_BRUSH,绘制文字时为TRANSPARENT模式。这样,控件就是透明的。HBRUSH CMy123Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ //设置透明背景模式 pDC->SetBkMode(TRANSPARENT); //设置背景画刷为空 return (HBRUSH)::GetStockObject(HOLLOW_BRUSH);}
当然,也可以为控件响应OnEraseBkgnd来加载位图背景。如下图所示:为ListBox控件加载了和对话框一样的位图背景。
正如上一篇文章WM_CTLCOLOR消息中讲到的,对PushButton控件响应OnEraseBkgnd来加载位图背景,是不起作用的。
- WM_ERASEBKGND消息
- PAINT和WM_ERASEBKGND消息
- MFC Dialog 添加WM_ERASEBKGND消息
- WM_ERASEBKGND
- WM_ERASEBKGND
- 处理WM_ERASEBKGND消息的实用方法
- VC对话框如何添加WM_ERASEBKGND消息
- WM_PAINT 和 WM_ERASEBKGND 消息的区别
- WM_PAINT 和 WM_ERASEBKGND 消息的区别 .
- WM_PAINT 和 WM_ERASEBKGND 消息的区别
- 深度分析WM_PAINT和WM_ERASEBKGND消息
- VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数)
- VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数)
- 求在SDK中WM_ERASEBKGND消息的讲解
- VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数)
- MFC中如何添加WM_ERASEBKGND、WM_LBUTTONDOWN等消息?
- WM_ERASEBKGND消息及位图背景与透明的实现
- VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数)及对话框使用位图背景并透明
- web后台获取ip地址,前台js获取ip地址
- 制造业领导都在想什么
- 全程图解解决hacnc的pppoe用户名加入回车(0D0A)
- 平板时代即将到来,写在即将发布Win8 Surface平板和iPad Mini之际
- 传亚马逊收购德州仪器手机处理器部门
- WM_ERASEBKGND消息
- 求两点之间的距离
- 罗姆开发出支持蓝牙4.0 Low Energy的LSI
- 利用pkill调用做进程监控
- 文件的本质--SHGetFileInfo()
- 瑞萨电子推出带40nm Flash存储器、超低功耗RH850/F1x系列微控制器
- ADI推出高速模数转换器简化FPGA应用设计
- ubuntu下真机调试android
- javah生成jni头文件命令使用