当前位置: 首页>>代码示例>>C++>>正文


C++ CDuiObject::IsClass方法代码示例

本文整理汇总了C++中CDuiObject::IsClass方法的典型用法代码示例。如果您正苦于以下问题:C++ CDuiObject::IsClass方法的具体用法?C++ CDuiObject::IsClass怎么用?C++ CDuiObject::IsClass使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CDuiObject的用法示例。


在下文中一共展示了CDuiObject::IsClass方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: GetParentDialog

// 获取父对话框
CDlgBase* CControlBase::GetParentDialog(BOOL bEnablePopup)
{
	CDuiObject* pParentObj = GetParent();
	while((pParentObj != NULL) && (!pParentObj->IsClass("dlg")))
	{
		if(pParentObj->IsClass("popup"))
		{
			if(!bEnablePopup)	// 如果不允许Popup窗口的控件获取父对话框,则直接返回空
			{
				return NULL;
			}
			pParentObj = ((CDlgPopup*)pParentObj)->GetParent();
		}else
		{
			pParentObj = ((CControlBase*)pParentObj)->GetParent();
		}
	}

	if((pParentObj != NULL) && pParentObj->IsClass("dlg"))
	{
		return (CDlgBase*)pParentObj;
	}

	return NULL;
}
开发者ID:cubemoon,项目名称:DuiVision,代码行数:26,代码来源:ControlBase.cpp

示例2: CallDuiHandler

// 调用DUI事件处理对象
LRESULT CControlBase::CallDuiHandler(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	CDuiHandler* pDuiHandler = GetDuiHandler();
	if(pDuiHandler != NULL)
	{
		return pDuiHandler->OnDuiMessage(GetID(), GetName(), uMsg, wParam, lParam);
	}

	CDuiObject* pParentObj = GetParent();
	while(pParentObj != NULL)
	{
		CDuiHandler* pDuiHandler = pParentObj->GetDuiHandler();
		if(pDuiHandler != NULL)
		{
			return pDuiHandler->OnDuiMessage(GetID(), GetName(), uMsg, wParam, lParam);
		}

		if(pParentObj->IsClass("popup"))
		{
			pParentObj = ((CDlgPopup*)pParentObj)->GetParent();
		}else
		if(pParentObj->IsClass("dlg"))	// 如果是对话框,暂时终结,不再找父窗口
		{
			pParentObj = ((CDlgBase*)pParentObj)->GetParent();
		}else
		{
			pParentObj = ((CControlBase*)pParentObj)->GetParent();
		}
	}

	// 如果未找到事件处理对象,则通过DuiSystem调用所有注册的事件处理对象进行处理
	return DuiSystem::Instance()->CallDuiHandler(GetID(), GetName(), uMsg, wParam, lParam);
}
开发者ID:cubemoon,项目名称:DuiVision,代码行数:34,代码来源:ControlBase.cpp

示例3: _CreateControlByName

// 根据控件名创建控件实例
CControlBase* CDuiTabCtrl::_CreateControlByName(LPCTSTR lpszName)
{
	// 如果已经设置了窗口句柄,使用窗口句柄创建控件
	HWND hWnd = m_hWnd;
	if(hWnd != NULL)
	{
		return DuiSystem::CreateControlByName(lpszName, hWnd, this);
	}

	// 查找父对话框的窗口句柄,通过父对话框句柄创建控件
	CDuiObject* pParentObj = GetParent();
	while((pParentObj != NULL) && (!pParentObj->IsClass(_T("dlg"))) && (!pParentObj->IsClass(_T("popup"))))
	{
		pParentObj = ((CControlBase*)pParentObj)->GetParent();
	}

	if((pParentObj != NULL) && pParentObj->IsClass(_T("dlg")))
	{
		return DuiSystem::CreateControlByName(lpszName, ((CDlgBase*)pParentObj)->GetSafeHwnd(), this);
	}else
	if((pParentObj != NULL) && pParentObj->IsClass(_T("popup")))
	{
		return DuiSystem::CreateControlByName(lpszName, ((CDlgPopup*)pParentObj)->GetSafeHwnd(), this);
	}

	return NULL;
}
开发者ID:Zhuguoping,项目名称:DuiVision,代码行数:28,代码来源:DuiTab.cpp

示例4: InvalidateRect

void CControlBase::InvalidateRect(LPCRECT lpRect, BOOL bErase)
{
	CDuiObject* pParentObj = GetParent();
	while((pParentObj != NULL) && (!pParentObj->IsClass("dlg")))
	{
		pParentObj = ((CControlBase*)pParentObj)->GetParent();
	}

	if((pParentObj != NULL) && pParentObj->IsClass("dlg"))
	{
		((CDlgBase*)pParentObj)->InvalidateRect(lpRect, bErase);
	}
}
开发者ID:cubemoon,项目名称:DuiVision,代码行数:13,代码来源:ControlBase.cpp

示例5: GetParent

CPopupList::~CPopupList(void)
{
	// 释放图片资源
	if(m_pImageHead != NULL)
	{
		delete m_pImageHead;
		m_pImageHead = NULL;
	}

	if(m_pImageClose != NULL)
	{
		delete m_pImageClose;
		m_pImageClose = NULL;
	}

	for(int i = 0; i < (int)m_vecItem.size(); i++)
	{
		EditListItem &editListItem = m_vecItem.at(i);
		if(editListItem.pImage != NULL)
		{
			delete editListItem.pImage;
			editListItem.pImage = NULL;
		}
	}

	// 判断如果父控件是combo的话,将combo中的指针设置为空
	CDuiObject* pParent = GetParent();
	if(pParent->IsClass(CDuiComboBox::GetClassName()))
	{
		((CDuiComboBox*)pParent)->m_pPopupList = NULL;
	}
}
开发者ID:Zhuguoping,项目名称:DuiVision,代码行数:32,代码来源:PopupList.cpp

示例6: _CreateControlByName

// 根据控件名创建控件实例
CControlBase* CDuiTabCtrl::_CreateControlByName(LPCTSTR lpszName)
{
	HWND hWnd = NULL;
	CDuiObject* pParentObj = GetParent();
	while((pParentObj != NULL) && (!pParentObj->IsClass(_T("dlg"))))
	{
		pParentObj = ((CControlBase*)pParentObj)->GetParent();
	}

	if((pParentObj != NULL) && pParentObj->IsClass(_T("dlg")))
	{
		return DuiSystem::CreateControlByName(lpszName, ((CDlgBase*)pParentObj)->GetSafeHwnd(), this);
	}

	return NULL;
}
开发者ID:lqh,项目名称:DuiVision,代码行数:17,代码来源:DuiTab.cpp

示例7: OnNcCloseWindow

// 重载窗口去激活时候的关闭窗口操作
BOOL CDuiMenu::OnNcCloseWindow()
{
	// 如果有父菜单,将父菜单窗口关闭
	CDuiMenu* pParentMenu = GetParentMenu();
	if(pParentMenu && !pParentMenu->IsAutoClose())
	{
		// 如果鼠标在父菜单窗口中,则不关闭父窗口
		CMenuItem* pHoverItem = pParentMenu->GetHoverMenuItem();
		if(pHoverItem == NULL)
		{
			pParentMenu->SetAutoClose(TRUE);
			pParentMenu->SetForegroundWindow();
			pParentMenu->PostMessage(WM_LBUTTONDOWN, 0, 0);
		}
	}

	// 如果父对象是菜单项,则将菜单项中的弹出菜单指针设置为空
	CDuiObject* pParent = GetParent();
	if((pParent != NULL) && (pParent->IsClass(CMenuItem::GetClassName())))
	{
		((CMenuItem*)pParent)->SetPopupMenu(NULL);
	}

	// 关闭自身
	m_pParentDuiObject = NULL;
	CloseWindow();	

	return TRUE;
}
开发者ID:Zhuguoping,项目名称:DuiVision,代码行数:30,代码来源:DuiMenu.cpp

示例8: ResetGroupCheck

// 刷新父控件下面所有同一个组的RadioButton控件的状态
BOOL CMenuItem::ResetGroupCheck()
{
	CDuiObject* pParentObj = GetParent();
	if(pParentObj == NULL)
	{
		return FALSE;
	}

	vector<CControlBase*>* pvecControl = NULL;
	if(pParentObj->IsClass(_T("dlg")))
	{
		CDlgBase* pDlg = static_cast<CDlgBase*>(pParentObj);
		pvecControl = pDlg->GetControls();
	}else
	if(pParentObj->IsClass(_T("popup")))
	{
		CDlgPopup* pDlg = static_cast<CDlgPopup*>(pParentObj);
		pvecControl = pDlg->GetControls();
	}else
	{
		CControlBase* pControlBase = static_cast<CControlBase*>(pParentObj);
		pvecControl = pControlBase->GetControls();
	}

	if(pvecControl == NULL)
	{
		return FALSE;
	}

	for(int i=0; i<(int)pvecControl->size(); i++)
	{
		CControlBase* pControlBase = pvecControl->at(i);
		if(pControlBase->IsClass(CMenuItem::GetClassName()) && pControlBase->GetVisible() && !pControlBase->GetDisable())
		{
			CMenuItem* pControl = static_cast<CMenuItem*>(pControlBase);
			if((pControl->GetGroupName() == m_strGroupName) && (pControl != this))
			{
				// 重置控件状态
				pControl->SetControlCheck(FALSE);
			}
		}
	}

	return TRUE;
}
开发者ID:ForkProject,项目名称:DuiVision,代码行数:46,代码来源:MenuItem.cpp

示例9: GetGroupValue

// 获取所在Radio组选择的控件的值
CString CMenuItem::GetGroupValue()
{
	CDuiObject* pParentObj = GetParent();
	if(pParentObj == NULL)
	{
		return _T("");
	}

	vector<CControlBase*>* pvecControl = NULL;
	if(pParentObj->IsClass(_T("dlg")))
	{
		CDlgBase* pDlg = static_cast<CDlgBase*>(pParentObj);
		pvecControl = pDlg->GetControls();
	}else
	if(pParentObj->IsClass(_T("popup")))
	{
		CDlgPopup* pDlg = static_cast<CDlgPopup*>(pParentObj);
		pvecControl = pDlg->GetControls();
	}else
	{
		CControlBase* pControlBase = static_cast<CControlBase*>(pParentObj);
		pvecControl = pControlBase->GetControls();
	}

	if(pvecControl == NULL)
	{
		return _T("");
	}

	for(int i=0; i<(int)pvecControl->size(); i++)
	{
		CControlBase* pControlBase = pvecControl->at(i);
		if(pControlBase->IsClass(CMenuItem::GetClassName()) && pControlBase->GetVisible() && !pControlBase->GetDisable())
		{
			CMenuItem* pControl = static_cast<CMenuItem*>(pControlBase);
			if((pControl->GetGroupName() == m_strGroupName) && pControl->GetCheck())
			{
				return pControl->GetValue();
			}
		}
	}

	return _T("");
}
开发者ID:ForkProject,项目名称:DuiVision,代码行数:45,代码来源:MenuItem.cpp

示例10: IsControlVisible

// 获取控件的可见性(遍历父控件,如果父控件不可见,则返回不可见)
BOOL CControlBase::IsControlVisible()
{
	if(!GetVisible())
	{
		return FALSE;
	}

	CDuiObject* pParentObj = GetParent();
	if(pParentObj == NULL)
	{
		return GetVisible();
	}

	if(pParentObj->IsClass("dlg") || pParentObj->IsClass("popup"))
	{
		return GetVisible();
	}

	return ((CControlBase*)pParentObj)->IsControlVisible();
}
开发者ID:cubemoon,项目名称:DuiVision,代码行数:21,代码来源:ControlBase.cpp

示例11: SendMessageToParent

// 发送通知消息给父控件
BOOL CDlgPopup::SendMessageToParent(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	CDuiObject* pParentObj = GetParent();
	if(pParentObj == NULL)
	{
		return FALSE;
	}

	if(pParentObj->IsClass(_T("dlg")))
	{
		return ((CDlgBase*)pParentObj)->OnMessage(GetID(), uMsg, wParam, lParam);
	}else
	if(pParentObj->IsClass(_T("popup")))
	{
		return ((CDlgPopup*)pParentObj)->OnMessage(GetID(), uMsg, wParam, lParam);
	}else
	{
		return ((CControlBase*)pParentObj)->OnMessage(GetID(), uMsg, wParam, lParam);
	}

	return FALSE;
}
开发者ID:blueantstudio,项目名称:DuiVision,代码行数:23,代码来源:DlgPopup.cpp

示例12: GetParentIDuiHostWnd

// 获取父控件的插件宿主窗口功能接口(如果是在插件中)
IDuiHostWnd* CControlBase::GetParentIDuiHostWnd()
{
	CDuiObject* pParentObj = GetParent();
	while(pParentObj != NULL)
	{
		if(pParentObj->IsClass(_T("div")) && (((CDuiPanel*)pParentObj)->GetIDuiHostWnd() != NULL))
		{
			return ((CDuiPanel*)pParentObj)->GetIDuiHostWnd();
		}
		pParentObj = ((CControlBase*)pParentObj)->GetParent();
	}

	return NULL;
}
开发者ID:LLLiuWeicai,项目名称:webposclient,代码行数:15,代码来源:ControlBase.cpp

示例13: InvalidateRect

void CControlBase::InvalidateRect(LPCRECT lpRect, BOOL bErase)
{
	if(m_hWnd != NULL)
	{
		::InvalidateRect(m_hWnd, lpRect, bErase);
		return;
	}

	CDuiObject* pParentObj = GetParent();
	while((pParentObj != NULL) && (!pParentObj->IsClass(_T("dlg"))) && (!pParentObj->IsClass(_T("popup"))))
	{
		pParentObj = ((CControlBase*)pParentObj)->GetParent();
	}

	if((pParentObj != NULL) && pParentObj->IsClass(_T("dlg")))
	{
		((CDlgBase*)pParentObj)->InvalidateRect(lpRect, bErase);
	}else
	if((pParentObj != NULL) && pParentObj->IsClass(_T("popup")))
	{
		//((CDlgPopup*)pParentObj)->InvalidateRect(lpRect, bErase);
	}
}
开发者ID:LLLiuWeicai,项目名称:webposclient,代码行数:23,代码来源:ControlBase.cpp

示例14: GetParentMenu

// 获取父菜单对象
CDuiMenu* CMenuItem::GetParentMenu()
{
	CDuiObject* pParentObj = GetParent();
	while((pParentObj != NULL) && (!pParentObj->IsClass(_T("menu"))))
	{
		if(pParentObj->IsClass(_T("popup")))
		{
			pParentObj = ((CDlgPopup*)pParentObj)->GetParent();
		}else
		if(pParentObj->IsClass(_T("dlg")))
		{
			pParentObj = ((CDlgBase*)pParentObj)->GetParent();
		}else
		{
			pParentObj = ((CControlBase*)pParentObj)->GetParent();
		}
	}
	if((pParentObj != NULL) && pParentObj->IsClass(_T("menu")))
	{
		return (CDuiMenu*)pParentObj;
	}

	return NULL;
}
开发者ID:ForkProject,项目名称:DuiVision,代码行数:25,代码来源:MenuItem.cpp


注:本文中的CDuiObject::IsClass方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。