现在我在帮桂林西川软件开发有限公司开发一个EIM——企业即时通讯平台。现在概要设计已经基本完成了,由于详细设计懒得写了,从现在开始就进入编写代码阶段,然后把每个版本的过程都写下来,以方便以后学习、回顾、总结。
这个版本最主要就是搭建服务器整个程序框架,具体做法如下:
一、新建工程
1、 新建一个MFC工程,取名为CharServer。
2、 选择单文档、windows资源管理器样式,其他保持默认。
二、分割窗口
1、新建一个对话框,并生成类CinformatiomView,继承CformView。
2、MainFrm.h中定义两个分割器
CSplitterWnd m_wndSplitter;
CSplitterWnd m_wndSplitter2;
3、 修改MainFrm.cpp中的OnCreateClient()函数,进行分割窗口,代码如下:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext)
{
// create splitter window
if (!m_wndSplitter.CreateStatic(this, 1, 2)) //分成一行两列
return FALSE;
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(180, 740), pContext)) //创建(0,0)视图
{
m_wndSplitter.DestroyWindow(); //失败则销毁
return FALSE;
}
if(m_wndSplitter2.CreateStatic(&m_wndSplitter,2,1,WS_CHILD|WS_VISIBLE, m_wndSplitter.IdFromRowCol(0, 1))==NULL) //把(0,1)视图再分割成两行一列
{
return FALSE;
}
if(!m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CChatServerView),CSize(810,400),pContext) || ///创建新的(0,0)视图
!m_wndSplitter2.CreateView(1,0,RUNTIME_CLASS(CIformatiomDlg),CSize(810,340),pContext)) //创建新的(1,0)视图
{
m_wndSplitter2.DestroyWindow(); //失败则销毁
return FALSE;
}
return TRUE;
}
三、最大化窗口
1、 把InitInstance()中的m_pMainWnd->ShowWindow(SW_SHOW)修改为
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED)