Exemplo n.º 1
0
//{{VCI_IMPLEMENT_BEGIN
int CDuiPlugin::OnInit(UINT nIDTemplate, HWND hWnd, LPCTSTR lpszName, CRect rc)
{
	// 调用DuiSystem创建一个Panel控件对象,并加载xml文件
	TRACE("CDuiPlugin::OnInit, name=%s, rc=%d,%d,%d,%d\n", lpszName, rc.left, rc.top, rc.right, rc.bottom);
	USES_CONVERSION;

	// 设置DuiVision库的根目录
	DuiSystem::SetRootPath(GetPlugInRootPath());

	// 初始化DUI库
	DWORD dwLangID = 0;
	new DuiSystem(NULL, dwLangID, _T(""), 1116, nIDTemplate, _T(""));

	DuiSystem::LogEvent(DUIV_LOG_LEVELDEBUG, _T("CDuiPlugin::OnInit root path is %s"), GetPlugInRootPath());

	// 加载xml
	m_pDuiPanel = (CDuiPanel*)DuiSystem::CreateControlByName(_T("div"), hWnd, NULL);
	if(m_pDuiPanel)
	{
		// 给插件的panel对象注册事件处理对象
		CDuiHandlerPlugin* pHandler = new CDuiHandlerPlugin();
		pHandler->SetDuiPanel(m_pDuiPanel);
		DuiSystem::RegisterHandler(m_pDuiPanel, pHandler);
		// 加载插件界面文件
		//BOOL bRet = m_pDuiPanel->LoadXmlFile(A2W(lpszName));
		BOOL bRet = m_pDuiPanel->LoadXmlFile(lpszName);
		// 事件处理对象初始化
		pHandler->OnInit();
		//DuiSystem::LogEvent(DUIV_LOG_LEVELDEBUG, _T("CDuiPlugin::OnInit load %s %s"), A2W(lpszName), bRet ? _T("succ") : _T("fail"));
		DuiSystem::LogEvent(DUIV_LOG_LEVELDEBUG, _T("CDuiPlugin::OnInit load %s %s"), lpszName, bRet ? _T("succ") : _T("fail"));
	}

	return 0;
}
Exemplo n.º 2
0
//{{VCI_IMPLEMENT_BEGIN
int CDuiPlugin::OnInit(UINT nIDTemplate, HWND hWnd, LPCTSTR lpszName, CRect rc, IDuiHostWnd* pIDuiHostWnd)
{
	// 调用DuiSystem创建一个Panel控件对象,并加载xml文件
	TRACE(_T("CDuiPlugin::OnInit, name=%s, rc=%d,%d,%d,%d\n"), lpszName, rc.left, rc.top, rc.right, rc.bottom);
	USES_CONVERSION;
	
	// 设置DuiVision库的根目录
	DuiSystem::SetRootPath(GetPlugInRootPath());

	// 初始化DUI库
	DWORD dwLangID = 0;
	UINT uAppID = 0;
	if(pIDuiHostWnd)
	{
		dwLangID = (DWORD)pIDuiHostWnd->GetCurrentLanguage();
		uAppID = (UINT)pIDuiHostWnd->GetAppID();
	}
	new DuiSystem(NULL, dwLangID, _T(""), uAppID, nIDTemplate, _T(""));

	DuiSystem::LogEvent(LOG_LEVEL_DEBUG, _T("CDuiPlugin::OnInit root path is %s"), GetPlugInRootPath());

[!if OPTION_CHECK_USEWKE]
	// 注册WKE控件
	REGISTER_DUICONTROL(CDuiWkeView, CDuiWkeView::WkeShutdown);
[!endif]
	
	// 加载xml
	m_pDuiPanel = (CDuiPanel*)DuiSystem::CreateControlByName(_T("div"), hWnd, NULL);
	if(m_pDuiPanel)
	{
		// 设置panel控件的宿主窗口功能接口指针
		m_pDuiPanel->SetIDuiHostWnd(pIDuiHostWnd);
		
		// 给插件的panel对象注册事件处理对象
		CDuiHandlerPlugin* pHandler = new CDuiHandlerPlugin();
		pHandler->SetDuiPanel(m_pDuiPanel);
		DuiSystem::RegisterHandler(m_pDuiPanel, pHandler);
		// 加载插件界面文件
		BOOL bRet = m_pDuiPanel->LoadXmlFile(lpszName);
		DuiSystem::LogEvent(LOG_LEVEL_DEBUG, _T("CDuiPlugin::OnInit load %s %s"), lpszName, bRet ? _T("succ") : _T("fail"));
	}

	return 0;
}