本文整理汇总了C++中CAutoRefPtr::InstallTranslator方法的典型用法代码示例。如果您正苦于以下问题:C++ CAutoRefPtr::InstallTranslator方法的具体用法?C++ CAutoRefPtr::InstallTranslator怎么用?C++ CAutoRefPtr::InstallTranslator使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CAutoRefPtr
的用法示例。
在下文中一共展示了CAutoRefPtr::InstallTranslator方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _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;
}
示例2: _tWinMain
//.........这里部分代码省略.........
goto exit;
}
}
#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布局应用程序窗口,为了保存窗口对象的析构先于其它对象,把它们缩进一层。
示例3: _tWinMain
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/)
{
//必须要调用OleInitialize来初始化运行环境
HRESULT hRes = OleInitialize(NULL);
SASSERT(SUCCEEDED(hRes));
// LoadLibrary(L"E:\\soui.taobao\\richedit\\Debug\\riched20.dll");
int nRet = 0;
//使用imgdecoder-png图片解码模块演示apng动画
SComMgr *pComMgr = new SComMgr(_T("imgdecoder-png"));
{
int nType=MessageBox(GetActiveWindow(),_T("选择渲染类型:\n[yes]: Skia\n[no]:GDI\n[cancel]:Quit"),_T("select a render"),MB_ICONQUESTION|MB_YESNOCANCEL);
if(nType == IDCANCEL)
{
nRet = -1;
goto exit;
}
//定义一组类SOUI系统中使用的类COM组件
//CAutoRefPtr是一个SOUI系统中使用的智能指针类
CAutoRefPtr<IImgDecoderFactory> pImgDecoderFactory; //图片解码器,由imagedecoder-wid.dll模块提供
CAutoRefPtr<IRenderFactory> pRenderFactory; //UI渲染模块,由render-gdi.dll或者render-skia.dll提供
CAutoRefPtr<ITranslatorMgr> trans; //多语言翻译模块,由translator.dll提供
CAutoRefPtr<IScriptFactory> pScriptLua; //lua脚本模块,由scriptmodule-lua.dll提供
BOOL bLoaded=FALSE;
//从各组件中显式创建上述组件对象
if(nType == IDYES)
bLoaded = pComMgr->CreateRender_Skia((IObjRef**)&pRenderFactory);
else
bLoaded = pComMgr->CreateRender_GDI((IObjRef**)&pRenderFactory);
SASSERT_FMT(bLoaded,_T("load interface [%s] failed!"),nType==IDYES?_T("render_skia"):_T("render_gdi"));
bLoaded=pComMgr->CreateImgDecoder((IObjRef**)&pImgDecoderFactory);
SASSERT_FMT(bLoaded,_T("load interface [%s] failed!"),_T("imgdecoder"));
bLoaded=pComMgr->CreateTranslator((IObjRef**)&trans);
SASSERT_FMT(bLoaded,_T("load interface [%s] failed!"),_T("translator"));
//为渲染模块设置它需要引用的图片解码模块
pRenderFactory->SetImgDecoderFactory(pImgDecoderFactory);
//定义一个唯一的SApplication对象,SApplication管理整个应用程序的资源
SApplication *theApp=new SApplication(pRenderFactory,hInstance);
//将程序的运行路径修改到demo所在的目录
SStringT strResDir = theApp->GetAppDir();
strResDir += _T("\\..\\demo");
SetCurrentDirectory(strResDir);
//SOUI系统总是从appdir去查找资源
theApp->SetAppDir(strResDir);
//定义一人个资源提供对象,SOUI系统中实现了3种资源加载方式,分别是从文件加载,从EXE的资源加载及从ZIP压缩包加载
CAutoRefPtr<IResProvider> pResProvider;
#if (RES_TYPE == 0)//从文件加载
CreateResProvider(RES_FILE,(IObjRef**)&pResProvider);
if(!pResProvider->Init((LPARAM)_T("uires"),0))
{
SASSERT(0);
delete theApp;
nRet = 1;
goto exit;
}
#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);
}
}
#ifdef DLL_CORE
//.........这里部分代码省略.........
示例4: 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();
}
示例5: _tWinMain
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR /*lpstrCmdLine*/, int /*nCmdShow*/)
{
HRESULT hRes = CoInitialize(NULL);
SOUI::CAutoRefPtr<SOUI::IRenderFactory> pRenderFactory=NULL;
SComMgr * pComMgr = new SComMgr;
///GDI渲染器
pComMgr->CreateRender_GDI((IObjRef**)&pRenderFactory);
///图片解码器
SOUI::CAutoRefPtr<SOUI::IImgDecoderFactory> pImgDecoderFactory;
pComMgr->CreateImgDecoder((IObjRef**)&pImgDecoderFactory);
pRenderFactory->SetImgDecoderFactory(pImgDecoderFactory);
SOUI::SApplication *theApp=new SApplication(pRenderFactory,hInstance);
theApp->RegisterWindowClass<SVideoPlayer>();
CAutoRefPtr<IResProvider> pResProvider;
CreateResProvider(RES_PE,(IObjRef**)&pResProvider);
if(pResProvider)
{
HMODULE hSysResource=LoadLibrary(_T("kkplayerdemoUI.dll"));
BOOL ret=pResProvider->Init((WPARAM)hSysResource,0);
theApp->AddResProvider(pResProvider);
}
//加载系统资源
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<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);
}
}
int nRet=0;
SOUI::CMainDlg dlgMain;
dlgMain.Create(NULL,WS_POPUP|WS_CLIPCHILDREN| WS_CLIPSIBLINGS,0,0,0,0,0);
dlgMain.GetNative()->SendMessage(WM_INITDIALOG);
dlgMain.CenterWindow(dlgMain.m_hWnd);
dlgMain.ShowWindow(SW_SHOWNORMAL);
nRet = theApp->Run(dlgMain.m_hWnd);/**/
}