CHeaderCtrl 类中确实有 GetItemRect 方法,该方法用于获取指定项(列)的矩形区域。以下是 GetItemRect 方法的一般用法:
BOOL GetItemRect(int nIndex, LPRECT lpRect) const;

参数解释:
  •  nIndex:要获取矩形区域的项(列)的索引。

  •  lpRect:指向 RECT 结构的指针,用于接收矩形区域的坐标。


RECT 结构定义如下:
typedef struct _RECT {
    LONG left;
    LONG top;
    LONG right;
    LONG bottom;
} RECT;

该方法返回一个布尔值,指示是否成功获取矩形区域。如果成功,返回非零值;如果失败,返回零。

以下是一个简单的示例,演示如何使用 GetItemRect 方法获取头部控件中第一列的矩形区域:
CHeaderCtrl m_headerCtrl;

// 在某个函数中调用 Create 方法进行头部控件的创建
BOOL bCreated = m_headerCtrl.Create(HDS_HORZ | WS_CHILD | WS_VISIBLE,
                                    CRect(10, 10, 300, 40),
                                    this,
                                    IDC_HEADER_CTRL);

if (bCreated) {
    // 成功创建头部控件
    // 可以添加列标题等操作

    RECT itemRect;
    // 获取头部控件中第一列的矩形区域
    BOOL bResult = m_headerCtrl.GetItemRect(0, &itemRect);
    if (bResult) {
        // 成功获取矩形区域
        // 可以使用 itemRect 进行相应的操作
    } else {
        // 获取矩形区域失败,处理错误
    }
} else {
    // 创建失败,处理错误
}




转载请注明出处:http://www.zyzy.cn/article/detail/18087/MFC/CHeaderCtrl