本文整理汇总了C++中CControlUI::GetInterface方法的典型用法代码示例。如果您正苦于以下问题:C++ CControlUI::GetInterface方法的具体用法?C++ CControlUI::GetInterface怎么用?C++ CControlUI::GetInterface使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CControlUI
的用法示例。
在下文中一共展示了CControlUI::GetInterface方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PasteUI
void CUIDesignerView::PasteUI(LPCTSTR xml)
{
CDialogBuilder builder;
CControlUI* pRoot=builder.Create(xml, (UINT)0, NULL, m_LayoutManager.GetManager());
if(pRoot)
{
CControlUI* pParent = m_MultiTracker.GetFocused();
if(pParent->GetInterface(_T("Container")) == NULL)
pParent = pParent->GetParent();
if(pParent == NULL)
pParent = m_LayoutManager.GetForm();
m_MultiTracker.RemoveAll();
CContainerUI* pContainer = static_cast<CContainerUI*>(pParent->GetInterface(_T("Container")));
CContainerUI* pRootContainer = static_cast<CContainerUI*>(pRoot->GetInterface(_T("Container")));
ExtendedAttributes* pExtended = (ExtendedAttributes*)pContainer->GetTag();
for(int i=0; i<pRootContainer->GetCount(); i++)
{
CControlUI* pControl = pRootContainer->GetItemAt(i);
if(pControl->IsFloat())
{
SIZE sz = pControl->GetFixedXY();
sz.cx += COPY_OFFSET_XY;
sz.cy += COPY_OFFSET_XY;
pControl->SetFixedXY(sz);
}
pContainer->Add(pControl);
m_MultiTracker.Add(CreateTracker(pControl));
InitUI(pControl, pExtended->nDepth + 1);
}
CArray<CControlUI*,CControlUI*> arrSelected;
m_MultiTracker.GetSelected(arrSelected);
m_UICommandHistory.Begin(arrSelected, actionAdd);
m_UICommandHistory.End();
pContainer->SetPos(pContainer->GetPos());
pRootContainer->SetAutoDestroy(false);
delete pRootContainer;
this->GetDocument()->SetModifiedFlag();
}
}
示例2: SelectItem
bool CNavigatorPanelUI::SelectItem(int iIndex)
{
if (iIndex == m_iCurSel) return true;
if (m_iCurSel >= 0) {
CControlUI* pControl = GetItem(m_iCurSel);
IListItemUI* pListItem = static_cast<IListItemUI*>(pControl->GetInterface(_T("ListItem")));
if (pListItem != NULL) pListItem->Select(false);
}
m_iCurSel = iIndex;
if (m_iCurSel >= 0) {
CControlUI* pControl = GetItem(m_iCurSel);
IListItemUI* pListItem = static_cast<IListItemUI*>(pControl->GetInterface(_T("ListItem")));
if (pListItem == NULL) return false;
pListItem->Select(true);
if (m_pManager != NULL) m_pManager->SendNotify(pControl, _T("itemclick"));
}
if (m_pManager != NULL) m_pManager->SendNotify(this, _T("itemselect"));
Invalidate();
return true;
}
示例3: SelectItem
bool CGroupsUI::SelectItem(int iIndex, bool bTakeFocus)
{
if( iIndex == m_iCurSel ) return true;
// We should first unselect the currently selected item
if( m_iCurSel >= 0 ) {
CControlUI* pControl = GetItemAt(m_iCurSel);
if( pControl != NULL) {
IListItemUI* pListItem = static_cast<IListItemUI*>(pControl->GetInterface(_T("ListItem")));
if( pListItem != NULL )
{
CListContainerElementUI* pFriendListItem = static_cast<CListContainerElementUI*>(pControl);
Node* node = (Node*)pControl->GetTag();
if ((pFriendListItem != NULL) && (node != NULL) && !node->folder())
{
// pFriendListItem->SetFixedHeight(kFriendListItemNormalHeight);
// CContainerUI* pOperatorPannel = static_cast<CContainerUI*>(paint_manager_.FindSubControlByName(pFriendListItem, kOperatorPannelControlName));
// if (pOperatorPannel != NULL)
// {
// pOperatorPannel->SetVisible(false);
// }
}
pListItem->Select(false);
}
}
m_iCurSel = -1;
}
if( iIndex < 0 )
return false;
if (!__super::SelectItem(iIndex, bTakeFocus))
return false;
CControlUI* pControl = GetItemAt(m_iCurSel);
if( pControl != NULL) {
CListContainerElementUI* pFriendListItem = static_cast<CListContainerElementUI*>(pControl);
Node* node = (Node*)pControl->GetTag();
if ((pFriendListItem != NULL) && (node != NULL) && !node->folder())
{
// pFriendListItem->SetFixedHeight(kFriendListItemSelectedHeight);
// CContainerUI* pOperatorPannel = static_cast<CContainerUI*>(paint_manager_.FindSubControlByName(pFriendListItem, kOperatorPannelControlName));
// if (pOperatorPannel != NULL)
// {
// pOperatorPannel->SetVisible(true);
// }
//pFriendListItem->SetBkImage()
}
}
return true;
}
示例4: RemoveAt
bool CComboUI::RemoveAt(int iIndex)
{
if (!CContainerUI::RemoveAt(iIndex)) return false;
for(int i = iIndex; i < GetCount(); ++i) {
CControlUI* p = GetItemAt(i);
IListItemUI* pListItem = static_cast<IListItemUI*>(p->GetInterface(_T("ListItem")));
if( pListItem != NULL ) pListItem->SetIndex(i);
}
if( iIndex == m_iCurSel && m_iCurSel >= 0 ) {
int iSel = m_iCurSel;
m_iCurSel = -1;
SelectItem(FindSelectable(iSel, false));
}
else if( iIndex < m_iCurSel ) m_iCurSel -= 1;
return true;
}
示例5: AddAt
bool CComboUI::AddAt(CControlUI* pControl, int iIndex)
{
if (!CContainerUI::AddAt(pControl, iIndex)) return false;
// The list items should know about us
IListItemUI* pListItem = static_cast<IListItemUI*>(pControl->GetInterface(_T("ListItem")));
if( pListItem != NULL ) {
pListItem->SetOwner(this);
pListItem->SetIndex(iIndex);
}
for(int i = iIndex + 1; i < GetCount(); ++i) {
CControlUI* p = GetItemAt(i);
pListItem = static_cast<IListItemUI*>(p->GetInterface(_T("ListItem")));
if( pListItem != NULL ) {
pListItem->SetIndex(i);
}
}
if( m_iCurSel >= iIndex ) m_iCurSel += 1;
return true;
}
示例6: SetItemIndex
bool CComboUI::SetItemIndex(CControlUI* pControl, int iIndex)
{
int iOrginIndex = GetItemIndex(pControl);
if( iOrginIndex == -1 ) return false;
if( iOrginIndex == iIndex ) return true;
IListItemUI* pSelectedListItem = NULL;
if( m_iCurSel >= 0 ) pSelectedListItem =
static_cast<IListItemUI*>(GetItemAt(m_iCurSel)->GetInterface(_T("ListItem")));
if( !CContainerUI::SetItemIndex(pControl, iIndex) ) return false;
int iMinIndex = min(iOrginIndex, iIndex);
int iMaxIndex = max(iOrginIndex, iIndex);
for(int i = iMinIndex; i < iMaxIndex + 1; ++i) {
CControlUI* p = GetItemAt(i);
IListItemUI* pListItem = static_cast<IListItemUI*>(p->GetInterface(_T("ListItem")));
if( pListItem != NULL ) {
pListItem->SetIndex(i);
}
}
if( m_iCurSel >= 0 && pSelectedListItem != NULL ) m_iCurSel = pSelectedListItem->GetIndex();
return true;
}
示例7: DoPaint
void CDropDownUI::DoPaint(HDC hDC, const RECT& rcPaint)
{
// Paint the nice frame
int cy = m_rcItem.bottom - m_rcItem.top;
::SetRect(&m_rcButton, m_rcItem.right - cy, m_rcItem.top, m_rcItem.right, m_rcItem.bottom);
RECT rcText = { m_rcItem.left, m_rcItem.top, m_rcButton.left + 1, m_rcItem.bottom };
if( !IsEnabled() ) {
CBlueRenderEngineUI::DoPaintFrame(hDC, m_pManager, rcText, UICOLOR_CONTROL_BORDER_DISABLED, UICOLOR__INVALID, UICOLOR__INVALID);
}
else {
CBlueRenderEngineUI::DoPaintFrame(hDC, m_pManager, rcText, UICOLOR_CONTROL_BORDER_NORMAL, UICOLOR_CONTROL_BORDER_NORMAL, UICOLOR__INVALID);
}
// Paint dropdown edit box
::InflateRect(&rcText, -1, -1);
if( m_iCurSel >= 0 ) {
CControlUI* pControl = static_cast<CControlUI*>(m_items[m_iCurSel]);
IListItemUI* pElement = static_cast<IListItemUI*>(pControl->GetInterface(_T("ListItem")));
if( pElement != NULL ) {
// Render item with specific draw-style
pElement->DrawItem(hDC, rcText, UIDRAWSTYLE_INPLACE | (m_bFocused ? UIDRAWSTYLE_FOCUS : 0));
}
else {
// Allow non-listitems to render as well.
RECT rcOldPos = pControl->GetPos();
pControl->SetPos(rcText);
pControl->DoPaint(hDC, rcText);
pControl->SetPos(rcOldPos);
}
}
else {
CBlueRenderEngineUI::DoFillRect(hDC, m_pManager, rcText, UICOLOR_CONTROL_BACKGROUND_NORMAL);
}
// Paint dropdown button
RECT rcPadding = { 0 };
CBlueRenderEngineUI::DoPaintButton(hDC, m_pManager, m_rcButton, _T("<i 6>"), rcPadding, m_uButtonState, 0);
}
示例8: PaintText
void CComboBoxUI::PaintText(HDC hDC)
{
RECT rcText = m_rcItem;
rcText.left += m_rcTextPadding.left;
rcText.right -= m_rcTextPadding.right;
rcText.top += m_rcTextPadding.top;
rcText.bottom -= m_rcTextPadding.bottom;
rcText.right -= m_nArrowWidth; // add this line than CComboUI::PaintText(HDC hDC)
if( m_iCurSel >= 0 ) {
CControlUI* pControl = static_cast<CControlUI*>(m_items[m_iCurSel]);
IListItemUI* pElement = static_cast<IListItemUI*>(pControl->GetInterface(_T("ListItem")));
if( pElement != NULL ) {
pElement->DrawItemText(hDC, rcText);
}
else {
RECT rcOldPos = pControl->GetPos();
pControl->SetPos(rcText);
pControl->DoPaint(hDC, rcText);
pControl->SetPos(rcOldPos);
}
}
}