行胜于言

于无声处

解决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:45 行胜于言 阅读(288) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理