本文整理汇总了C++中CMainDlg::CenterWindow方法的典型用法代码示例。如果您正苦于以下问题:C++ CMainDlg::CenterWindow方法的具体用法?C++ CMainDlg::CenterWindow怎么用?C++ CMainDlg::CenterWindow使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMainDlg
的用法示例。
在下文中一共展示了CMainDlg::CenterWindow方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Run
int Run(LPTSTR /*lpstrCmdLine*/ = NULL, int nCmdShow = SW_SHOWDEFAULT)
{
CMessageLoop theLoop;
_Module.AddMessageLoop(&theLoop);
CMainDlg dlgMain;
if(dlgMain.Create(NULL) == NULL)
{
ATLTRACE(_T("Main dialog creation failed!\n"));
return 0;
}
dlgMain.ShowWindow(_Module.m_bByUserClick ? nCmdShow : SW_HIDE);
dlgMain.CenterWindow(_Module.m_hOuterParent);
int nRet = theLoop.Run();
_Module.RemoveMessageLoop();
return nRet;
}
示例2: _tWinMain
//.........这里部分代码省略.........
theApp->RegisterSkinFactory(TplSkinFactory<SSkinMutiFrameImg>());
theApp->RegisterSkinFactory(TplSkinFactory<SSkinVScrollbar>());
theApp->RegisterSkinFactory(TplSkinFactory<SSkinNewScrollbar>());
theApp->RegisterSkinFactory(TplSkinFactory<SSkinGif>());
theApp->RegisterSkinFactory(TplSkinFactory<SSkinAPNG>());
{
#ifdef _DEBUG
HMODULE hSysRes = LoadLibrary(_T("soui-sys-resourced.dll"));
#else
HMODULE hSysRes = LoadLibrary(_T("soui-sys-resource.dll"));
#endif
CAutoRefPtr<IResProvider> sysResProvider;
CreateResProvider(RES_PE, (IObjRef**)&sysResProvider);
sysResProvider->Init((WPARAM)hSysRes, 0);
theApp->LoadSystemNamedResource(sysResProvider);
FreeLibrary(hSysRes);
}
CAutoRefPtr<IResProvider> pResProvider;
#if (RES_TYPE == 0)
CreateResProvider(RES_FILE, (IObjRef**)&pResProvider);
if (!pResProvider->Init((LPARAM)_T("uires"), 0))
{
SASSERT(0);
return 1;
}
#else
CreateResProvider(RES_PE, (IObjRef**)&pResProvider);
pResProvider->Init((WPARAM)hInstance, 0);
#endif
//如果需要在代码中使用R::id::namedid这种方式来使用控件必须要这一行代码:2016年2月2日,R::id::namedXmlID是由uiresbuilder 增加-h .\res\resource.h idtable 这3个参数后生成的。
//theApp->InitXmlNamedID(namedXmlID,ARRAYSIZE(namedXmlID),TRUE);
//theApp->Init(_T("XML_INIT")); //这一句不在需要了 在AddResProvider时自动执行初始化
theApp->AddResProvider(pResProvider, L"uidef:UIDESIGNER_XML_INIT"); // theApp->AddResProvider(pResProvider, L"uidef:xml_init");
//设置真窗口处理接口
CSouiRealWndHandler * pRealWndHandler = new CSouiRealWndHandler();
theApp->SetRealWndHandler(pRealWndHandler);
pRealWndHandler->Release();
////加载LUA脚本模块。
//CAutoRefPtr<IScriptModule> pScriptLua;
//bLoaded=pComMgr->CreateScrpit_Lua((IObjRef**)&pScriptLua);
//SASSERT_FMT(bLoaded,_T("load interface [%s] failed!"),_T("script_lua"));
////加载多语言翻译模块。
//CAutoRefPtr<ITranslatorMgr> trans;
//bLoaded=pComMgr->CreateTranslator((IObjRef**)&trans);
//SASSERT_FMT(bLoaded,_T("load interface [%s] failed!"),_T("translator"));
//if(trans)
//{//加载语言翻译包
// theApp->SetTranslator(trans);
// pugi::xml_document xmlLang;
// if(theApp->LoadXmlDocment(xmlLang,_T("lang_cn"),_T("translator")))
// {
// CAutoRefPtr<ITranslator> langCN;
// trans->CreateTranslator(&langCN);
// langCN->Load(&xmlLang.child(L"language"),1);//1=LD_XML
// trans->InstallTranslator(langCN);
// }
//}
// BLOCK: Run application
{
CMainDlg dlgMain;
dlgMain.Create(GetActiveWindow());
dlgMain.SendMessage(WM_INITDIALOG);
dlgMain.CenterWindow(dlgMain.m_hWnd);
dlgMain.ShowWindow(SW_SHOWNORMAL);
SStringT uideffile = lpstrCmdLine;
if (!uideffile.IsEmpty())
{
uideffile.Trim(_T('\"'));
uideffile += _T("uires.idx");
#ifdef _DEBUG
SMessageBox(NULL, uideffile, NULL, MB_OK);
#endif
if(FileIsExist(uideffile))
dlgMain.OpenProject(uideffile);
}
nRet = theApp->Run(dlgMain.m_hWnd);
}
delete theApp;
}
FreeLibrary(hSci);
delete pComMgr;
OleUninitialize();
return nRet;
}
示例3: _tWinMain
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int /*nCmdShow*/)
{
HRESULT hRes = OleInitialize(NULL);
SASSERT(SUCCEEDED(hRes));
int nRet = 0;
SComMgr *pComMgr = new SComMgr(_T("imgdecoder-gdip"));
{
BOOL bLoaded=FALSE;
CAutoRefPtr<SOUI::IImgDecoderFactory> pImgDecoderFactory;
CAutoRefPtr<SOUI::IRenderFactory> pRenderFactory;
bLoaded = pComMgr->CreateRender_GDI((IObjRef**)&pRenderFactory);
SASSERT_FMT(bLoaded,_T("load interface [render] failed!"));
bLoaded=pComMgr->CreateImgDecoder((IObjRef**)&pImgDecoderFactory);
SASSERT_FMT(bLoaded,_T("load interface [%s] failed!"),_T("imgdecoder"));
pRenderFactory->SetImgDecoderFactory(pImgDecoderFactory);
SApplication *theApp = new SApplication(pRenderFactory, hInstance);
theApp->RegisterWndFactory(TplSWindowFactory<SEdit2>());
theApp->RegisterWndFactory(TplSWindowFactory<SImgCanvas>());
theApp->RegisterWndFactory(TplSWindowFactory<SFolderTreeList>());
HMODULE hSysResource=LoadLibrary(SYS_NAMED_RESOURCE);
if(hSysResource)
{
CAutoRefPtr<IResProvider> sysSesProvider;
CreateResProvider(RES_PE,(IObjRef**)&sysSesProvider);
sysSesProvider->Init((WPARAM)hSysResource,0);
theApp->LoadSystemNamedResource(sysSesProvider);
}
CAutoRefPtr<IResProvider> pResProvider;
#if (RES_TYPE == 0)
//将程序的运行路径修改到项目所在目录所在的目录
SStringT strPath = theApp->GetAppDir();
strPath += _T("..\\SoTool\\uires");
SetCurrentDirectory(strPath);
CreateResProvider(RES_FILE, (IObjRef**)&pResProvider);
if (!pResProvider->Init((LPARAM)_T("uires"), 0))
{
SASSERT(0);
return 1;
}
#else
CreateResProvider(RES_PE, (IObjRef**)&pResProvider);
pResProvider->Init((WPARAM)hInstance, 0);
#endif
theApp->AddResProvider(pResProvider);
// BLOCK: Run application
{
CMainDlg dlgMain;
dlgMain.Create(GetActiveWindow());
dlgMain.SendMessage(WM_INITDIALOG);
dlgMain.CenterWindow(dlgMain.m_hWnd);
dlgMain.ShowWindow(SW_SHOWNORMAL);
nRet = theApp->Run(dlgMain.m_hWnd);
}
delete theApp;
}
delete pComMgr;
OleUninitialize();
return nRet;
}
示例4: _tWinMain
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/)
{
HRESULT hRes = OleInitialize(NULL);
SASSERT(SUCCEEDED(hRes));
int nRet = 0;
SComMgr * pComMgr = new SComMgr;
//将程序的运行路径修改到项目所在目录所在的目录
TCHAR szCurrentDir[MAX_PATH]={0};
GetModuleFileName( NULL, szCurrentDir, sizeof(szCurrentDir) );
LPTSTR lpInsertPos = _tcsrchr( szCurrentDir, _T('\\') );
_tcscpy(lpInsertPos+1,_T("\\..\\360"));
//SetCurrentDirectory(szCurrentDir);
{
CAutoRefPtr<SOUI::IImgDecoderFactory> pImgDecoderFactory;
CAutoRefPtr<SOUI::IRenderFactory> pRenderFactory;
pComMgr->CreateRender_GDI((IObjRef**)&pRenderFactory);
pComMgr->CreateImgDecoder((IObjRef**)&pImgDecoderFactory);
pRenderFactory->SetImgDecoderFactory(pImgDecoderFactory);
SApplication *theApp=new SApplication(pRenderFactory,hInstance);
CAutoRefPtr<ITranslatorMgr> trans;
pComMgr->CreateTranslator((IObjRef**)&trans);
if(trans)
{
theApp->SetTranslator(trans);
pugi::xml_document xmlLang;
if(xmlLang.load_file(L"Translator/lang_cn.xml"))
{
CAutoRefPtr<ITranslator> langCN;
trans->CreateTranslator(&langCN);
langCN->Load(&xmlLang.child(L"language"),1);//1=LD_XML
trans->InstallTranslator(langCN);
}
}
CAutoRefPtr<IResProvider> pResProvider;
#if (RES_TYPE == 0)
CreateResProvider(RES_FILE,(IObjRef**)&pResProvider);
if(!pResProvider->Init((LPARAM)_T("uires"),0))
{
SASSERT(0);
return 1;
}
#else
CreateResProvider(RES_PE,(IObjRef**)&pResProvider);
pResProvider->Init((WPARAM)hInstance,0);
#endif
theApp->AddResProvider(pResProvider);
TCHAR xx[MAX_PATH];
GetCurrentDirectory(MAX_PATH, xx);
//加载系统资源
HMODULE hSysResource=LoadLibrary(SYS_NAMED_RESOURCE);
if(hSysResource)
{
CAutoRefPtr<IResProvider> sysSesProvider;
CreateResProvider(RES_PE,(IObjRef**)&sysSesProvider);
sysSesProvider->Init((WPARAM)hSysResource,0);
theApp->LoadSystemNamedResource(sysSesProvider);
}
theApp->Init(_T("XML_INIT"));
// BLOCK: Run application
{
CMainDlg dlgMain;
dlgMain.Create(GetActiveWindow(),0,0,0,0);
dlgMain.SendMessage(WM_INITDIALOG);
dlgMain.CenterWindow(dlgMain.m_hWnd);
dlgMain.ShowWindow(SW_SHOWNORMAL);
nRet=theApp->Run(dlgMain.m_hWnd);
}
delete theApp;
}
delete pComMgr;
OleUninitialize();
return nRet;
}
示例5: _tWinMain
//.........这里部分代码省略.........
#elif (RES_TYPE==1)//从EXE资源加载
CreateResProvider(RES_PE,(IObjRef**)&pResProvider);
pResProvider->Init((WPARAM)hInstance,0);
#elif (RES_TYPE==2)//从ZIP包加载
bLoaded=pComMgr->CreateResProvider_ZIP((IObjRef**)&pResProvider);
SASSERT_FMT(bLoaded,_T("load interface [%s] failed!"),_T("resprovider_zip"));
ZIPRES_PARAM param;
param.ZipFile(pRenderFactory, _T("uires.zip"),"souizip");
bLoaded = pResProvider->Init((WPARAM)¶m,0);
SASSERT(bLoaded);
#endif
//将创建的IResProvider交给SApplication对象
theApp->AddResProvider(pResProvider);
//创建一个http服务器,用来从资源中加载flash
CMemFlash memFlash;
CHTTPServer flashSvr(&memFlash);
flashSvr.Start(CMemFlash::HomeDir(),"",82,0);
if(trans)
{//加载语言翻译包
theApp->SetTranslator(trans);
pugi::xml_document xmlLang;
if(theApp->LoadXmlDocment(xmlLang,_T("lang_cn"),_T("translator")))
{
CAutoRefPtr<ITranslator> langCN;
trans->CreateTranslator(&langCN);
langCN->Load(&xmlLang.child(L"language"),1);//1=LD_XML
trans->InstallTranslator(langCN);
}
}
#if defined(DLL_CORE) && !defined(_WIN64)
//加载LUA脚本模块,注意,脚本模块只有在SOUI内核是以DLL方式编译时才能使用。
bLoaded=pComMgr->CreateScrpit_Lua((IObjRef**)&pScriptLua);
SASSERT_FMT(bLoaded,_T("load interface [%s] failed!"),_T("scirpt_lua"));
theApp->SetScriptFactory(pScriptLua);
#endif//DLL_CORE
//加载系统资源
HMODULE hSysResource=LoadLibrary(SYS_NAMED_RESOURCE);
if(hSysResource)
{
CAutoRefPtr<IResProvider> sysSesProvider;
CreateResProvider(RES_PE,(IObjRef**)&sysSesProvider);
sysSesProvider->Init((WPARAM)hSysResource,0);
theApp->LoadSystemNamedResource(sysSesProvider);
}
//采用hook绘制菜单的边框
CMenuWndHook::InstallHook(hInstance,L"_skin.sys.menu.border");
//加载全局资源描述XML
//theApp->Init(_T("xml_init")); 不再需要这句,在AddResProvider时自动执行初始化
//演示R.color.xxx,R.string.xxx在代码中的使用。
COLORREF crRed = GETCOLOR(R.color.red);
SStringW strTitle = GETSTRING(R.string.title);
SNotifyCenter *pNotifyCenter = new SNotifyCenter;
{
//创建并显示使用SOUI布局应用程序窗口,为了保存窗口对象的析构先于其它对象,把它们缩进一层。
CMainDlg dlgMain;
dlgMain.Create(GetActiveWindow(),0,0,800,650);
dlgMain.GetNative()->SendMessage(WM_INITDIALOG);
dlgMain.CenterWindow();
dlgMain.ShowWindow(SW_SHOWNORMAL);
SmileyCreateHook smileyHook; //不知道MainDlg里哪块和mhook冲突了,在win10中,如果hook放到dlgmain.create前会导致hook失败。
nRet=theApp->Run(dlgMain.m_hWnd);
}
delete pNotifyCenter;
theApp->UnregisterWindowClass<SGifPlayer>();
//应用程序退出
delete theApp;
if(pLogMgr)
{
pLogMgr->stop();
}
flashSvr.Shutdown();
//卸载菜单边框绘制hook
CMenuWndHook::UnInstallHook();
CUiAnimation::Free();
SSkinGif::Gdiplus_Shutdown();
}
exit:
delete pComMgr;
OleUninitialize();
return nRet;
}
示例6: InitSoUiFrame
int CMainFrameWork::InitSoUiFrame()
{
HRESULT hRes = OleInitialize(NULL);
SASSERT(SUCCEEDED(hRes));
int nRet = 0;
SComMgr * pComMgr = new SComMgr;
//将程序的运行路径修改到项目所在目录所在的目录
TCHAR szCurrentDir[MAX_PATH]={0};
GetModuleFileName( NULL, szCurrentDir, sizeof(szCurrentDir) );
LPTSTR lpInsertPos = _tcsrchr( szCurrentDir, _T('\\') );
_tcscpy(lpInsertPos+1,_T("\\..\\TestProject"));
SetCurrentDirectory(szCurrentDir);
{
CAutoRefPtr<SOUI::IImgDecoderFactory> pImgDecoderFactory;
CAutoRefPtr<SOUI::IRenderFactory> pRenderFactory;
pComMgr->CreateRender_GDI((IObjRef**)&pRenderFactory);
pComMgr->CreateImgDecoder((IObjRef**)&pImgDecoderFactory);
pRenderFactory->SetImgDecoderFactory(pImgDecoderFactory);
SApplication *theApp=new SApplication(pRenderFactory,g_hInstance);
CAutoRefPtr<IResProvider> pResProvider;
#if (RES_TYPE == 0)
CreateResProvider(RES_FILE,(IObjRef**)&pResProvider);
if(!pResProvider->Init((LPARAM)_T("uires"),0))
{
SASSERT(0);
return 1;
}
#else
CreateResProvider(RES_PE,(IObjRef**)&pResProvider);
pResProvider->Init((WPARAM)hInstance,0);
#endif
theApp->AddResProvider(pResProvider);
CAutoRefPtr<ITranslatorMgr> trans;
pComMgr->CreateTranslator((IObjRef**)&trans);
if(trans)
{
theApp->SetTranslator(trans);
pugi::xml_document xmlLang;
if(theApp->LoadXmlDocment(xmlLang,_T("lang_cn"),_T("translator")))
{
CAutoRefPtr<ITranslator> langCN;
trans->CreateTranslator(&langCN);
langCN->Load(&xmlLang.child(L"language"),1);//1=LD_XML
trans->InstallTranslator(langCN);
}
}
theApp->RegisterWndFactory(TplSWindowFactory<SIPAddressCtrl>());//注册IP控件
//加载系统资源
HMODULE hSysResource=LoadLibrary(SYS_NAMED_RESOURCE);
if(hSysResource)
{
CAutoRefPtr<IResProvider> sysSesProvider;
CreateResProvider(RES_PE,(IObjRef**)&sysSesProvider);
sysSesProvider->Init((WPARAM)hSysResource,0);
theApp->LoadSystemNamedResource(sysSesProvider);
}
theApp->Init(_T("XML_INIT"));
// BLOCK: Run application
{
CMainDlg dlgMain;
dlgMain.Create(GetActiveWindow(),0,0,0,0);
dlgMain.SendMessage(WM_INITDIALOG);
dlgMain.CenterWindow(dlgMain.m_hWnd);
dlgMain.ShowWindow(SW_SHOWNORMAL);
nRet=theApp->Run(dlgMain.m_hWnd);
}
delete theApp;
}
delete pComMgr;
OleUninitialize();
}
示例7: _tWinMain
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int /*nCmdShow*/)
{
HRESULT hRes = OleInitialize(NULL);
SASSERT(SUCCEEDED(hRes));
int nRet = 0;
SComMgr *pComMgr = new SComMgr;
//将程序的运行路径修改到项目所在目录所在的目录
TCHAR szCurrentDir[MAX_PATH] = { 0 };
GetModuleFileName(NULL, szCurrentDir, sizeof(szCurrentDir));
LPTSTR lpInsertPos = _tcsrchr(szCurrentDir, _T('\\'));
_tcscpy(lpInsertPos + 1, _T(".."));
SetCurrentDirectory(szCurrentDir);
{
BOOL bLoaded=FALSE;
CAutoRefPtr<SOUI::IImgDecoderFactory> pImgDecoderFactory;
CAutoRefPtr<SOUI::IRenderFactory> pRenderFactory;
bLoaded = pComMgr->CreateRender_GDI((IObjRef**)&pRenderFactory);
SASSERT_FMT(bLoaded,_T("load interface [render] failed!"));
bLoaded=pComMgr->CreateImgDecoder((IObjRef**)&pImgDecoderFactory);
SASSERT_FMT(bLoaded,_T("load interface [%s] failed!"),_T("imgdecoder"));
pRenderFactory->SetImgDecoderFactory(pImgDecoderFactory);
SApplication *theApp = new SApplication(pRenderFactory, hInstance);
//从DLL加载系统资源
HMODULE hModSysResource = LoadLibrary(SYS_NAMED_RESOURCE);
if (hModSysResource)
{
CAutoRefPtr<IResProvider> sysResProvider;
CreateResProvider(RES_PE, (IObjRef**)&sysResProvider);
sysResProvider->Init((WPARAM)hModSysResource, 0);
theApp->LoadSystemNamedResource(sysResProvider);
FreeLibrary(hModSysResource);
}else
{
SASSERT(0);
}
CAutoRefPtr<IResProvider> pResProvider;
#if (RES_TYPE == 0)
CreateResProvider(RES_FILE, (IObjRef**)&pResProvider);
if (!pResProvider->Init((LPARAM)_T("uires"), 0))
{
SASSERT(0);
return 1;
}
#else
CreateResProvider(RES_PE, (IObjRef**)&pResProvider);
pResProvider->Init((WPARAM)hInstance, 0);
#endif
theApp->AddResProvider(pResProvider);
theApp->Init(_T("XML_INIT"));
// BLOCK: Run application
{
CMainDlg dlgMain;
dlgMain.Create(GetActiveWindow());
dlgMain.SendMessage(WM_INITDIALOG);
dlgMain.CenterWindow(dlgMain.m_hWnd);
dlgMain.ShowWindow(SW_SHOWNORMAL);
nRet = theApp->Run(dlgMain.m_hWnd);
}
delete theApp;
}
delete pComMgr;
OleUninitialize();
return nRet;
}
示例8: _tWinMain
//.........这里部分代码省略.........
//创建一个http服务器,用来从资源中加载flash
CMemFlash memFlash;
CHTTPServer flashSvr(&memFlash);
flashSvr.Start(CMemFlash::HomeDir(),"",82,0);
if(trans)
{//加载语言翻译包
theApp->SetTranslator(trans);
pugi::xml_document xmlLang;
if(theApp->LoadXmlDocment(xmlLang,_T("lang_cn"),_T("translator")))
{
CAutoRefPtr<ITranslator> langCN;
trans->CreateTranslator(&langCN);
langCN->Load(&xmlLang.child(L"language"),1);//1=LD_XML
trans->InstallTranslator(langCN);
}
}
#ifdef DLL_CORE
//加载LUA脚本模块,注意,脚本模块只有在SOUI内核是以DLL方式编译时才能使用。
bLoaded=pComMgr->CreateScrpit_Lua((IObjRef**)&pScriptLua);
SASSERT_FMT(bLoaded,_T("load interface [%s] failed!"),_T("scirpt_lua"));
theApp->SetScriptFactory(pScriptLua);
#endif//DLL_CORE
//向SApplication系统中注册由外部扩展的控件及SkinObj类
SWkeLoader wkeLoader;
if(wkeLoader.Init(_T("wke.dll")))
{
theApp->RegisterWndFactory(TplSWindowFactory<SWkeWebkit>());//注册WKE浏览器
}
theApp->RegisterWndFactory(TplSWindowFactory<SGifPlayer>());//注册GIFPlayer
theApp->RegisterSkinFactory(TplSkinFactory<SSkinGif>());//注册SkinGif
theApp->RegisterSkinFactory(TplSkinFactory<SSkinAPNG>());//注册SSkinAPNG
theApp->RegisterSkinFactory(TplSkinFactory<SSkinVScrollbar>());//注册纵向滚动条皮肤
theApp->RegisterWndFactory(TplSWindowFactory<SIPAddressCtrl>());//注册IP控件
theApp->RegisterWndFactory(TplSWindowFactory<SPropertyGrid>());//注册属性表控件
theApp->RegisterWndFactory(TplSWindowFactory<SChromeTabCtrl>());//注册ChromeTabCtrl
theApp->RegisterWndFactory(TplSWindowFactory<SIECtrl>());//注册IECtrl
theApp->RegisterWndFactory(TplSWindowFactory<SChatEdit>());//注册ChatEdit
theApp->RegisterWndFactory(TplSWindowFactory<SScrollText>());//注册SScrollText
theApp->RegisterWndFactory(TplSWindowFactory<SListCtrlEx>());//注册SListCtrlEx
theApp->RegisterWndFactory(TplSWindowFactory<SDesktopDock>());//注册SDesktopDock
theApp->RegisterWndFactory(TplSWindowFactory<SImageMaskWnd>());//注册SImageMaskWnd
theApp->RegisterWndFactory(TplSWindowFactory<SRatingBar>());//注册SRatingBar
if(SUCCEEDED(CUiAnimation::Init()))
{
theApp->RegisterWndFactory(TplSWindowFactory<SUiAnimationWnd>());//注册动画控件
}
theApp->RegisterWndFactory(TplSWindowFactory<SFlyWnd>());//注册飞行动画控件
theApp->RegisterWndFactory(TplSWindowFactory<SFadeFrame>());//注册渐显隐动画控件
theApp->RegisterWndFactory(TplSWindowFactory<SRadioBox2>());//注册RadioBox2
theApp->RegisterWndFactory(TplSWindowFactory<SCalendar2>());//注册SCalendar2
SSkinGif::Gdiplus_Startup();
//加载系统资源
HMODULE hSysResource=LoadLibrary(SYS_NAMED_RESOURCE);
if(hSysResource)
{
CAutoRefPtr<IResProvider> sysSesProvider;
CreateResProvider(RES_PE,(IObjRef**)&sysSesProvider);
sysSesProvider->Init((WPARAM)hSysResource,0);
theApp->LoadSystemNamedResource(sysSesProvider);
}
//采用hook绘制菜单的边框
CMenuWndHook::InstallHook(hInstance,L"_skin.sys.menu.border");
//加载全局资源描述XML
theApp->Init(_T("xml_init"));
{
//创建并显示使用SOUI布局应用程序窗口,为了保存窗口对象的析构先于其它对象,把它们缩进一层。
CMainDlg dlgMain;
dlgMain.Create(GetActiveWindow(),0,0,800,600);
dlgMain.GetNative()->SendMessage(WM_INITDIALOG);
dlgMain.CenterWindow();
dlgMain.ShowWindow(SW_SHOWNORMAL);
nRet=theApp->Run(dlgMain.m_hWnd);
}
//应用程序退出
delete theApp;
flashSvr.Shutdown();
//卸载菜单边框绘制hook
CMenuWndHook::UnInstallHook();
CUiAnimation::Free();
SSkinGif::Gdiplus_Shutdown();
}
exit:
delete pComMgr;
OleUninitialize();
return nRet;
}
示例9: _tWinMain
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/)
{
HRESULT hRes = OleInitialize(NULL);
SASSERT(SUCCEEDED(hRes));
int nRet = 0;
SComLoader imgDecLoader;
SComLoader renderLoader;
//将程序的运行路径修改到项目所在目录所在的目录
TCHAR szCurrentDir[MAX_PATH]={0};
GetModuleFileName( NULL, szCurrentDir, sizeof(szCurrentDir) );
LPTSTR lpInsertPos = _tcsrchr( szCurrentDir, _T('\\') );
_tcscpy(lpInsertPos+1,_T(".."));
SetCurrentDirectory(szCurrentDir);
{
CAutoRefPtr<SOUI::IImgDecoderFactory> pImgDecoderFactory;
CAutoRefPtr<SOUI::IRenderFactory> pRenderFactory;
imgDecLoader.CreateInstance(COM_IMGDECODER,(IObjRef**)&pImgDecoderFactory);
renderLoader.CreateInstance(COM_RENDER_GDI,(IObjRef**)&pRenderFactory);
pRenderFactory->SetImgDecoderFactory(pImgDecoderFactory);
SApplication *theApp=new SApplication(pRenderFactory,hInstance);
HMODULE hSysResource=LoadLibrary(SYS_NAMED_RESOURCE);
if(hSysResource)
{
CAutoRefPtr<IResProvider> sysSesProvider;
CreateResProvider(RES_PE,(IObjRef**)&sysSesProvider);
sysSesProvider->Init((WPARAM)hSysResource,0);
theApp->LoadSystemNamedResource(sysSesProvider);
}
CAutoRefPtr<IResProvider> pResProvider;
CreateResProvider(RES_PE,(IObjRef**)&pResProvider);
pResProvider->Init((WPARAM)hInstance,0);
theApp->AddResProvider(pResProvider);
theApp->RegisterWndFactory(TplSWindowFactory<SIECtrl>());
theApp->Init(_T("XML_INIT"));
// BLOCK: Run application
{
CMainDlg dlgMain;
dlgMain.Create(GetActiveWindow(),0,0,0,0);
dlgMain.SendMessage(WM_INITDIALOG);
dlgMain.CenterWindow(dlgMain.m_hWnd);
dlgMain.ShowWindow(SW_SHOWNORMAL);
nRet=theApp->Run(dlgMain.m_hWnd);
}
delete theApp;
}
OleUninitialize();
return nRet;
}