小技巧,怎么让MFC的MDI程序子窗口看起来有扁平的效果
用微軟的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子窗口,
其實在SDI程序中原理是一樣的。
修改后的效果
總結
以上是生活随笔為你收集整理的小技巧,怎么让MFC的MDI程序子窗口看起来有扁平的效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Google TV 遥控器新款参考设计公
- 下一篇: VS2008,GDIPlus初步