//初始化函数 BOOL CGameFrameDlg::OnInitDialog() { __super::OnInitDialog(); //设置属性 ModifyStyle(WS_CAPTION|WS_BORDER,0,0); //读取配置 m_bAllowSound=AfxGetApp()->GetProfileInt(TEXT("GameOption"),TEXT("EnableSound"),TRUE)?true:false; //创建控制 m_pGameFrameControl=new CGameFrameControl(this); if (m_pGameFrameControl==NULL) throw TEXT("游戏框架创建失败"); //创建组件 if (m_MessageProxyHelper.CreateInstance()==false) throw TEXT("信息组件创建失败"); m_MessageProxyHelper->SetRichEditHwnd(&m_pGameFrameControl->m_ChatMessage); //设置界面 m_VorSplitter.SetSplitterSink(this); //创建组件 if (m_UserFaceResHelper.CreateInstance()==false) throw TEXT("头像组件加载失败"); if (m_ClientKernelHelper.CreateInstance()==false) throw TEXT("游戏框架内核模块加载失败"); //创建游戏视图 CRect rcGameView(0,0,0,0); m_pGameFrameControl->Create(IDD_FRAME_CONTROL,this); if (m_pGameFrameControl->SetUserFaceRes(m_UserFaceResHelper.GetInterface())==false) throw TEXT("头像资源接口设置失败"); m_pGameFrameView->Create(NULL,NULL,WS_VISIBLE|WS_CHILD|WS_CLIPSIBLINGS|WS_CLIPCHILDREN,rcGameView,this,10); if (m_pGameFrameView->SetUserFaceRes(m_UserFaceResHelper.GetInterface())==false) throw TEXT("头像资源接口设置失败"); CVideoServiceManager * pVideoServiceManager=CVideoServiceManager::GetInstance(); if (pVideoServiceManager!=NULL && pVideoServiceManager->SetUserFaceRes(m_UserFaceResHelper.GetInterface())==false) throw TEXT("头像资源接口设置失败"); //初始化内核 LPCTSTR lpszCmdLine=AfxGetApp()->m_lpCmdLine; bool bSuccess=m_ClientKernelHelper->InitClientKernel(lpszCmdLine,m_pKernelSink); if (bSuccess==false) throw TEXT("游戏框架逻辑模块初始化失败"); bSuccess=m_ClientKernelHelper->SetMessageProxy(m_MessageProxyHelper.GetInterface()); if (bSuccess==false) throw TEXT("获取消息输出模块失败"); //初始化游戏 m_pGameFrameControl->SetClientKernel(m_ClientKernelHelper.GetInterface()); if (InitGameFrame()==false) throw TEXT("游戏框架初始化失败"); //加载资源 UpdateSkinResource(); //移动窗口 INT nXScreen=GetSystemMetrics(SM_CXSCREEN); INT nYScreen=GetSystemMetrics(SM_CYSCREEN); SetWindowPos(NULL,0,0,__min(nXScreen,1024),__min(nYScreen,730),SWP_NOZORDER|SWP_NOMOVE); //显示窗口 m_bInitDialog=true; m_pGameFrameView->ShowWindow(SW_SHOW); m_pGameFrameControl->ShowWindow(SW_SHOW); //显示窗口 CenterWindow(); MaxSizeWindow(); ShowWindow(SW_SHOW); return TRUE; }
//初始化函数 BOOL CGameFrameDlg::OnInitDialog() { CString strAppName=AfxGetApp()->m_pszAppName; strAppName.MakeLower(); if (-1!=strAppName.Find(TEXT("fish"))) { g_GlobalOption.bFishGame=true; ModifyStyle(WS_MAXIMIZEBOX|WS_MINIMIZEBOX,0,0); } __super::OnInitDialog(); //设置属性 ModifyStyle(WS_CAPTION|WS_BORDER,0,0); //读取配置 m_bAllowSound=AfxGetApp()->GetProfileInt(TEXT("GameOption"),TEXT("EnableSound"),TRUE)?true:false; //创建控制 m_pGameFrameControl=new CGameFrameControl(this); if (m_pGameFrameControl==NULL) throw TEXT("游戏框架创建失败"); //创建组件 if (m_MessageProxyHelper.CreateInstance()==false) throw TEXT("信息组件创建失败"); m_MessageProxyHelper->SetRichEditHwnd(&m_pGameFrameControl->m_ChatMessage); //设置界面 m_VorSplitter.SetSplitterSink(this); //创建组件 if (m_UserFaceResHelper.CreateInstance()==false) throw TEXT("头像组件加载失败"); if (m_ClientKernelHelper.CreateInstance()==false) throw TEXT("游戏框架内核模块加载失败"); //创建游戏视图 CRect rcGameView(0,0,0,0); m_pGameFrameControl->Create(IDD_FRAME_CONTROL,this); if (m_pGameFrameControl->SetUserFaceRes(m_UserFaceResHelper.GetInterface())==false) throw TEXT("头像资源接口设置失败"); m_pGameFrameView->Create(NULL,NULL,WS_VISIBLE|WS_CHILD|WS_CLIPSIBLINGS|WS_CLIPCHILDREN,rcGameView,this,10); if (m_pGameFrameView->SetUserFaceRes(m_UserFaceResHelper.GetInterface())==false) throw TEXT("头像资源接口设置失败"); CVideoServiceManager * pVideoServiceManager=CVideoServiceManager::GetInstance(); if (pVideoServiceManager!=NULL && pVideoServiceManager->SetUserFaceRes(m_UserFaceResHelper.GetInterface())==false) throw TEXT("头像资源接口设置失败"); //初始化内核 LPCTSTR lpszCmdLine=AfxGetApp()->m_lpCmdLine; bool bSuccess=m_ClientKernelHelper->InitClientKernel(lpszCmdLine,m_pKernelSink); if (bSuccess==false) throw TEXT("游戏框架逻辑模块初始化失败"); bSuccess=m_ClientKernelHelper->SetMessageProxy(m_MessageProxyHelper.GetInterface()); if (bSuccess==false) throw TEXT("获取消息输出模块失败"); //初始化游戏 m_pGameFrameControl->SetClientKernel(m_ClientKernelHelper.GetInterface()); if (InitGameFrame()==false) throw TEXT("游戏框架初始化失败"); //设置颜色 tagMessageOption MessageOption; memset(&MessageOption,0,sizeof(MessageOption)); MessageOption.crName=g_GlobalOption.m_crMsgName; MessageOption.crSystemHead=RGB(191,163,19);/*g_GlobalOption.m_crMsgSysHead*/; MessageOption.crSystemString=RGB(191,163,19);/*g_GlobalOption.m_crMsgSysString*/; m_MessageProxyHelper->SetMessageOption(MessageOption); //加载资源 UpdateSkinResource(); //移动窗口 INT nXScreen=GetSystemMetrics(SM_CXSCREEN); INT nYScreen=GetSystemMetrics(SM_CYSCREEN); SetWindowPos(NULL,0,0,__min(nXScreen,1024),__min(nYScreen,720),SWP_NOZORDER|SWP_NOMOVE); //显示窗口 m_bInitDialog=true; m_pGameFrameView->ShowWindow(SW_SHOW); m_pGameFrameControl->ShowWindow(SW_SHOW); //显示窗口 if (true==g_GlobalOption.bFishGame) { MoveWindow(0,0,1270,624,FALSE); //m_btControl.ShowWindow(FALSE); } else { m_btControl.ShowWindow(TRUE); m_btControl.EnableWindow(TRUE); MoveWindow(0,0,1024,748,FALSE); } //显示窗口 CenterWindow(); ShowWindow(SW_SHOW); return TRUE; }