完美的将对话框设置成无边框无标题栏样式

很多同学在绘制UI时喜欢将窗口或者对话框设置成无边框无标题栏样式,然后在客户区里就可以”胡作非为“了,想干什么都行

然而新手们包括笔者以前都遇到的一个问题是:对于对话框来说直接这样设置:

[cpp]  view plain copy
  1. ModifyStyle(WS_CAPTION | WS_THICKFRAME, 0, SWP_FRAMECHANGED);  
 

 

是不完美的,他们会发现在对话框的情况下,那个border还是存在,最后怎么设置都不可行

对于一般从CWnd派生然后用Create方法创建的窗口却没什么问题

 

这里我告诉你如何设置,以下代码适用所有窗口,设置后边框没了,标题栏也没了

纯净的客户区就美丽的显示在你的面前

 

 

[cpp]  view plain copy
  1. DWORD dwStyle = GetStyle();//获取旧样式  
  2.     DWORD dwNewStyle = WS_OVERLAPPED | WS_VISIBLE| WS_SYSMENU |WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_CLIPCHILDREN|WS_CLIPSIBLINGS;  
  3.     dwNewStyle&=dwStyle;//按位与将旧样式去掉  
  4.     SetWindowLong(m_hWnd,GWL_STYLE,dwNewStyle);//设置成新的样式  
  5.     DWORD dwExStyle = GetExStyle();//获取旧扩展样式  
  6.     DWORD dwNewExStyle = WS_EX_LEFT |WS_EX_LTRREADING |WS_EX_RIGHTSCROLLBAR;  
  7.     dwNewExStyle&=dwExStyle;//按位与将旧扩展样式去掉  
  8.     SetWindowLong(m_hWnd,GWL_EXSTYLE,dwNewExStyle);//设置新的扩展样式  
  9.     SetWindowPos(NULL,0,0,0,0,SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_FRAMECHANGED);//告诉windows:我的样式改变了,窗口位置和大小保持原来不变!  


欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值