将对话框(窗口)设置成无边框无标题栏样式
2015-07-27 17:56
531 查看
一般方法:
ModifyStyle(WS_CAPTION | WS_THICKFRAME, 0, SWP_FRAMECHANGED);
这种方法对于一般从CWnd派生,然后用Create方法创建的窗口没有什么问题。 但对于对话框来说,border还是存在,最后怎么设置都不可行,
以下代码适用所有窗口,设置后边框没了,标题栏也没了。
DWORD dwStyle = GetStyle();//获取旧样式
DWORD dwNewStyle = WS_OVERLAPPED | WS_VISIBLE| WS_SYSMENU |WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_CLIPCHILDREN|WS_CLIPSIBLINGS;
dwNewStyle&=dwStyle;//按位与将旧样式加上
SetWindowLong(m_hWnd,GWL_STYLE,dwNewStyle);//设置成新的样式
DWORD dwExStyle = GetExStyle();//获取旧扩展样式
DWORD dwNewExStyle = WS_EX_LEFT |WS_EX_LTRREADING |WS_EX_RIGHTSCROLLBAR;
dwNewExStyle&=dwExStyle;//按位与将旧扩展样式加上
SetWindowLong(m_hWnd,GWL_EXSTYLE,dwNewExStyle);//设置新的扩展样式
SetWindowPos(NULL,0,0,0,0,SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_FRAMECHANGED);//窗口位置和大小保持原来不变!
ModifyStyle(WS_CAPTION | WS_THICKFRAME, 0, SWP_FRAMECHANGED);
这种方法对于一般从CWnd派生,然后用Create方法创建的窗口没有什么问题。 但对于对话框来说,border还是存在,最后怎么设置都不可行,
以下代码适用所有窗口,设置后边框没了,标题栏也没了。
DWORD dwStyle = GetStyle();//获取旧样式
DWORD dwNewStyle = WS_OVERLAPPED | WS_VISIBLE| WS_SYSMENU |WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_CLIPCHILDREN|WS_CLIPSIBLINGS;
dwNewStyle&=dwStyle;//按位与将旧样式加上
SetWindowLong(m_hWnd,GWL_STYLE,dwNewStyle);//设置成新的样式
DWORD dwExStyle = GetExStyle();//获取旧扩展样式
DWORD dwNewExStyle = WS_EX_LEFT |WS_EX_LTRREADING |WS_EX_RIGHTSCROLLBAR;
dwNewExStyle&=dwExStyle;//按位与将旧扩展样式加上
SetWindowLong(m_hWnd,GWL_EXSTYLE,dwNewExStyle);//设置新的扩展样式
SetWindowPos(NULL,0,0,0,0,SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_FRAMECHANGED);//窗口位置和大小保持原来不变!
相关文章推荐
- MooBox 基于Mootools的对话框插件
- C#实现在前端网页弹出警告对话框(alert)的方法
- VC实现获取当前正在运行的进程
- vc中SendMessage自定义消息函数用法实例
- C#使用Word中的内置对话框实例
- VC实现让关闭按钮成灰色不可用的方法
- VC++中的字体设置方法详解
- VC程序设计中CreateProcess用法注意事项
- VC实现批量删除指定文件的方法
- MFC对话框中添加状态栏的方法
- vc中使用SendMessage自定义消息函数
- vc提示unexpected end of file found的原因分析
- vc获取计算机名和ip地址的方法
- VC6.0实现读取Excel数据的方法
- VC下通过系统快照实现进程管理的方法
- winform异型不规则界面设计的实现方法
- 用JavaScript实现对话框的教程
- Asp.net 弹出对话框基类(输出alet警告框)
- boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
- 自制轻量级仿jQuery.boxy对话框插件代码