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


C++ CListBox::GetDC方法代码示例

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


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

示例1: SetHorizExtentListBox

/**************************************************************************************
    Function Name    :  SetHorizExtentListBox
    Input(s)         :  CListBox& omListBox
    Output           :  void
    Functionality    :  Sets the Listbox scroll to an extent so as to view the longest
                        string that is inserted.
    Member of        :  CExploreMsgSg
    Author(s)        :  Robin G.K.
    Date Created     :  27.10.2015
    Requirement ID   :  RS_FLX_08_09_10
***************************************************************************************/
void  CExploreMsgSg::SetHorizExtentListBox(CListBox& omListBox)
{
    // Set horizontal extent of the list
    // box to max string availaable
    // so that user can scroll
    CSize   sz;
    CString omStrText;
    CDC*  pDC = omListBox.GetDC();
    if ( pDC != nullptr)
    {
        int nDx = 0;
        for (int nCount = 0;
                nCount < omListBox.GetCount();
                nCount++)
        {
            omListBox.GetText( nCount, omStrText );
            // remove space
            omStrText.TrimRight();
            sz = pDC->GetTextExtent(omStrText);
            if (sz.cx > nDx)
            {
                nDx = sz.cx;
            }
        }
        omListBox.ReleaseDC(pDC);
        // Set the horizontal extent so every character of all
        // strings can be scrolled to.
        omListBox.SetHorizontalExtent(nDx);
    }
}
开发者ID:IXXAT-wucherer,项目名称:busmaster,代码行数:41,代码来源:ExploreMsgSg.cpp

示例2: ShowInPlaceListBox

CListBox* CPlayerListCtrl::ShowInPlaceListBox(int nItem, int nCol, CAtlList<CString>& lstItems, int nSel)
{
    CRect rect;
    if (!PrepareInPlaceControl(nItem, nCol, rect)) {
        return nullptr;
    }

    DWORD dwStyle = WS_BORDER | WS_CHILD | WS_VISIBLE | WS_VSCROLL/*|WS_HSCROLL*/ | LBS_NOTIFY;
    CListBox* pListBox = DEBUG_NEW CInPlaceListBox(nItem, nCol, lstItems, nSel);
    pListBox->Create(dwStyle, rect, this, IDC_LIST1);

    CRect ir;
    GetItemRect(m_nItemClicked, &ir, LVIR_BOUNDS);

    pListBox->SetItemHeight(-1, ir.Height());

    CDC* pDC = pListBox->GetDC();
    CFont* pWndFont = GetFont();
    pDC->SelectObject(pWndFont);
    int width = GetColumnWidth(nCol);
    POSITION pos = lstItems.GetHeadPosition();
    while (pos) {
        int w = pDC->GetTextExtent(lstItems.GetNext(pos)).cx + 16;
        if (width < w) {
            width = w;
        }
    }
    ReleaseDC(pDC);

    CRect r;
    pListBox->GetWindowRect(r);
    ScreenToClient(r);
    r.top = ir.bottom;
    r.bottom = r.top + pListBox->GetItemHeight(0) * (pListBox->GetCount() + 1);
    r.right = r.left + width;
    pListBox->MoveWindow(r);

    m_fInPlaceDirty = false;

    return pListBox;
}
开发者ID:Chris-Hood,项目名称:mpc-hc,代码行数:41,代码来源:PlayerListCtrl.cpp


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