将对话框(窗口)设置成无边框无标题栏样式

一般方法:

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);//窗口位置和大小保持原来不变!  

 

你可能感兴趣的:(null,扩展,border)