关于CListCtrl::GetSubItemRect()的问题

简介:
今天扩展List控件,调用CListCtrl::GetSubItemRect()获取subItem==0项的rect时出了问题,我用TRACE打印数据发现left和right的数值是不正确的,似乎获取到的是整个list控件的大小,后来查了一下MSDN,里面写着:
iSubItem

The one-based index of the subitem.

无语死了。。。。。

重写CListCtrl::GetSubItemRect()算哒。。。。。

BOOL GetSubItemRect(  int nItem,  int nSubItem,  int nArea, CRect& rect )
{
    ASSERT(nItem >= 0);
    ASSERT(nItem < GetItemCount());
     if ((nItem < 0) || nItem >= GetItemCount())
         return FALSE;
    ASSERT(nSubItem >= 0);
    ASSERT(nSubItem < GetHeaderCtrl()->GetItemCount());
     if ((nSubItem < 0) || nSubItem >= GetHeaderCtrl()->GetItemCount())
         return FALSE;

    BOOL bRC = CListCtrl::GetSubItemRect(nItem, nSubItem, nArea, rect);

     if (nSubItem == 0)
    {
         int offset = rect.left;

        CRect firstColumnRect;
        GetHeaderCtrl()->GetItemRect(0, &firstColumnRect);
        rect.left = firstColumnRect.left + offset;
        rect.right = firstColumnRect.right + offset;
    }

     return bRC;
}


-_-这下好了。
目录
相关文章
|
C++ 容器
CListCtrl使用详解
1。先来介绍REPORT类型的CListCtrl: 首先使用下面的语句设置CListCtrl的style: DWORD SetExtendedStyle( DWORD dwNewStyle )...
879 0
|
C++
VS2008下的CListCtrl控件的使用
                                                                VS2008下的CListCtrl控件的使用      最近要适应VS这个开发环境,从VC6移植到VS有很多不习惯.在一个小程序中利用到了 CListCtrl控件的时候 就出现了问题 。
849 0
|
BI
17 MFC - 列表控件 CListCtrl
17 MFC - 列表控件 CListCtrl
88 0
CListCtrl自绘
一:custom draw 自行绘制 ClistCtrl 的列表项,可以利用列表框的 NM_CUSTOMDRAW 消息,该消息由控件向它的父窗口发送,告诉父窗口它的绘图操作。     如果绘图操作不需要父窗口参与,可以使用该控件的 ON_NOTIFY_REFLECT 宏处理它的 NM_CUSTOMDRAW 消息。
1140 0
Ctreectrl +CImageList应用
一、定义一个CImageList m_ImageList; 二、初始化加载图片列表:  m_ImageList.Create(18, 18, ILC_COLORDDB | ILC_MASK, 0, 1); CBitmap camer; CBitmap camerg; camer.
793 0
|
Windows
duilib中ListCtrl控件的实现
转载请说明出处,谢谢~~      昨天在编程群里聊天,提到了ListCtrl,然后有网友找我,他需要做一个ListCtrl控件,我看过需求后接下了这个活。
1200 0
|
移动开发 BI C++
MFC CListCtrl 使用介绍
以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl类 SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn -------------------------------------------------------------------------------- 1.
1285 0

热门文章

最新文章