行胜于言

于无声处

解决CFrameWnd的边框问题


大家都做过基于MFC Dialog的应用程序,我更喜欢用CFrameWnd派生类来实现应用程序的主框架,我不太喜欢SDI模板,又是Document又是View的,MFC背着你干了很多事情!
好了,说说问题,大家如果作过基于CFrameWnd的主窗口,可能会发现主窗口会有一个3D的边框,一开始我用ModifyStyle发现不行,那就在PreCreateWindow里面吧!呵呵,也不管用,跟进MFC的代码,发现CFrameWnd::PreCreateWindow会重置dwExStyle,好了看代码吧!

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT &  cs) 
{
  BOOL bRet
= CFrameWnd::PreCreateWindow(cs);
  
if (bRet)
{
   cs.dwExStyle
&=~ WS_EX_CLIENTEDGE;
   
return  TRUE;
 }

 
return  FALSE;
}

posted on 2006-11-14 13:49 行胜于言 阅读(1107) 评论(1)  编辑 收藏 引用

Feedback

# re: 解决CFrameWnd的边框问题 2007-12-23 17:49 秦歌

定  回复  更多评论   



只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理