VC中创建具有透明效果的对话框
2013-02-01 21:18
225 查看
1、创建一个基于对话框的MFC EXE 2、在对话框的 OnInitDialog 函数 中,设置对话框扩展属性 为:WS_EX_LAYERED const WS_EX_LAYERED = 0x80000; ::SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE, GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE)|WS_EX_LAYERED); 3、在对话框的 OnInitDialog 函数 中,设置对话框透明 HINSTANCE hInst; const LWA_COLORKEY = 0x00001; const LWA_ALPHA = 0x00002; typedef BOOL (WINAPI *FSetLayeredWindowAttributes)(HWND,COLORREF,BYTE,DWORD); FSetLayeredWindowAttributes SetLayeredWindowAttributes; hInst = LoadLibrary("User32.dll"); SetLayeredWindowAttributes = (FSetLayeredWindowAttributes) GetProcAddress(hInst,"SetLayeredWindowAttributes"); SetLayeredWindowAttributes(GetSafeHwnd(),RGB(0,0,0),150,LWA_ALPHA); FreeLibrary(hInst); 注:此方法仅适用 Windows2000以上平台 补充部分: 还有另外一种方法可以实现对话框的透明,而且也简单一些,但是我在除自己电脑外,还在同学电脑上也试了下,效果一点都不好,做法是这样的,在VC中打开对话框资源,在对话框编辑器上右击选择属性(PROPERTIES),然后选择扩展属性(EXTENTED STYLE),勾选上TRANSPARENT。这个效果在我电脑上不明显,但你可以试试看。 |
相关文章推荐
- VC++ 对话框透明效果
- 孙鑫VC学习笔记:第十讲画图 创建设置画笔的对话框 并且可以预览效果
- VC++ 实现整个对话框透明的效果SetLayeredWindowAttributes
- WPF4数据绑定应用之“创建具有多种显示效果的字串”
- (VS2013)MFC对话框中用多个按钮创建多个子对话框实现选项卡效果(自己有修改)
- [VC中对话框窗体背景透明而控件不透明]
- vc对话框关闭按钮和取消按钮效果一样的原因
- VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数)及对话框使用位图背景并透明
- VC++ 使窗体拥有透明效果地API
- VC++创建对话框
- [转]引用 VC 对话框设置位图背景并透明控件
- Unity3D ShaderLab 使用alpha参数创建透明效果
- VC对话框贴图效果实现
- MFC 对话框透明效果
- vc对话框编辑界面左下角有个小按钮,可以直接测试更改的效果
- VC++创建个性的对话框之MFC篇(转)
- JS弹出可移动的DIV对话框透明遮罩效果
- 对话框设置及常用控件,创建模/非模态对话框态对话框(VC_MFC)
- VC++创建个性的对话框之MFC篇
- VC++创建个性的对话框之MFC篇(转)