首页 > 编程语言 >小技巧,怎么让MFC的MDI程序子窗口看起来有扁平的效果

小技巧,怎么让MFC的MDI程序子窗口看起来有扁平的效果

时间:2022-12-13 18:05:33浏览次数:58  
标签:MDI PreCreateWindow 扁平 MFC WS EX cs CREATESTRUCT 属性



用微软的Spy++偷看photoshop设置的属性,具体就是这样的.
首先是设置CChildFrame的属性:

BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs

if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
//SetClassLong(this->m_hWnd,GCL_HICON,NULL);
cs.style |= WS_OVERLAPPEDWINDOW | WS_VISIBLE |
WS_CLIPCHILDREN | WS_CLIPSIBLINGS |WS_OVERLAPPED;
cs.dwExStyle = WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_RIGHTSCROLLBAR | WS_EX_WINDOWEDGE;

return TRUE;
}



再设置CXXView的属性

BOOL CXXView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style = WS_CHILDWINDOW | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN |
WS_OVERLAPPED | WS_MINIMIZEBOX;
cs.dwExStyle = WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_RIGHTSCROLLBAR;

return CView::PreCreateWindow(cs);
}

这两个合起来的属性就有这样的效果了,不过我不知道是到底设置那个属性才有这样的效果的.附图

小技巧,怎么让MFC的MDI程序子窗口看起来有扁平的效果_class


这是MFC默认的MDI子窗口,


小技巧,怎么让MFC的MDI程序子窗口看起来有扁平的效果_styles_02



其实在SDI程序中原理是一样的。


修改后的效果

小技巧,怎么让MFC的MDI程序子窗口看起来有扁平的效果_mfc_03

标签:MDI,PreCreateWindow,扁平,MFC,WS,EX,cs,CREATESTRUCT,属性
From: https://blog.51cto.com/u_15911341/5934945

相关文章