应用程序窗口初始化

上一篇 / 下一篇  2008-01-10 13:44:58 / 个人分类:学习.net 使用编程100例

主窗口类CMainFrame,它的基类是CFrameWnd;用于管理主程序的窗口,同时黑处理对窗口的操作的消息。

PreCreatWindow()函数在窗口创建之前执行的函数;只要编辑函数CREATESTRUCT结构就可以完成程序的初始化。

应用程序窗口在创建之前,调用CMainFrame的PreCreatWindow()函数。通过修改CREATESTRUCT cs来修改窗口风格,控制应用程序窗口的初始位置和大小;

程序运行中出现 error C2084:

function 'function' already has a body

The function has already been defined.

原因是建好的MFC程序中包含有BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs);

结果又建了一个BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs);所以导致出现

error C2084

代码:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
 if( !CFrameWnd::PreCreateWindow(cs) )
  return FALSE;
 
 if(!CFrameWnd::PreCreateWindow(cs))
  return FALSE;
 int xsize=::GetSystemMetrics(SM_CYSCREEN);
 int ysize=::GetSystemMetrics(SM_CYSCREEN);
 cs.cx=xsize*2/3;
 cs.cy=ysize*2/3;
 cs.style &=~(WS_MAXIMIZEBOX|WS_MINIMIZEBOX);
 cs.style &=~WS_THICKFRAME;
 cs.style &=~FWS_ADDTOTITLE;
 m_strTitle="My Program";


 // TODO: 在此处通过修改
 //  CREATESTRUCT cs 来修改窗口类或样式

 return TRUE;
}


TAG:

 

评分:0

我来说两句

Open Toolbar