MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::SetOrderArray
CHeaderCtrl::SetOrderArray 是 MFC 中 CHeaderCtrl 类的一个公共方法,用于设置头部控件(Header Control)中列的显示顺序数组。该方法的原型如下:void SetOrderArray(int iCount, LPINT piArray);其中参数解释如下: iCount:指定数组中元素的数量。 piArray:指向一个整数数组的指针,数组中包含列的索引,表示列的显示顺序。调用该方法可以根据传入的数组重新排列列的显示顺序。例如,如果你想将第二列移动到第一列的位置,可以通过以下方式调用:int orderArray[] = {1, 0, 2}; // 第二列(索引为1)移到第一列(索引为0)的位置headerCtrl.SetOrderArray(3, orderArray);这样就会重新排列列的显示顺序,使得第二列移动到第一列的位置。
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::SetItem
CHeaderCtrl::SetItem 方法用于设置标题控件(Header Control)中指定项的属性。通过这个方法,您可以设置项的文本、图像、宽度等属性。以下是 CHeaderCtrl::SetItem 方法的基本语法:BOOL SetItem( int nPos, HDITEM* pHeaderItem);参数 nPos 指定要设置属性的项的索引,从零开始。参数 pHeaderItem 是一个指向 HDITEM 结构的指针,该结构包含了要设置的项的属性。下面是一个简单的例子,展示如何使用 SetItem 方法设置标题控件的第一个项的文本:// 假设 m_HeaderCtrl 是您的 CHeaderCtrl 对象HDITEM hdi;hdi.mask = HDI_TEXT; // 指定要设置文本属性hdi.pszText = _T("New Text"); // 设置新的文本BOOL bResult = m_HeaderCtrl.SetItem(0, &hdi);if (bResult) { // 设置成功} else { ...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::SetImageList
CHeaderCtrl 类的 SetImageList 方法用于设置标题控件(Header Control)中的图像列表。具体而言,它将一个图像列表与标题控件相关联,以便在标题中显示图像。以下是 CHeaderCtrl::SetImageList 方法的基本语法:CImageList* SetImageList( CImageList* pImageList);参数 pImageList 是与标题控件相关联的 CImageList 对象的指针。该方法返回先前与标题控件相关联的图像列表的指针。如果标题控件以前未与任何图像列表相关联,则返回 NULL。例如,假设您有一个 CHeaderCtrl 对象 m_HeaderCtrl,并且有一个图像列表对象 m_ImageList,您可以使用以下方式将图像列表与标题控件关联:CImageList m_ImageList; // 假设这是您的图像列表对象// 设置图像列表到标题控件CImageList* pPreviousImageList = m_HeaderCtrl.SetImageList(&m_ImageList);// 检查先...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::SetFocusedItem
CHeaderCtrl::SetFocusedItem 是 MFC(Microsoft Foundation Classes)中 CHeaderCtrl 类的一个公共方法。该方法用于设置标题控件(Header 控件)中当前具有焦点的项(header item)。在 CHeaderCtrl 类中,Header 控件通常用于显示列表控件(CListCtrl)或报表控件(CListCtrl)的列标题。具体而言,CHeaderCtrl::SetFocusedItem 方法用于设置当前拥有焦点的列。你可以调用这个方法来指定哪一列具有焦点,以便在用户与控件进行交互时,控件能够正确地响应焦点的更改。方法原型可能类似于:BOOL SetFocusedItem(int nFocus);其中,nFocus 是你想要设置为焦点的列的索引。使用示例可能如下所示:CHeaderCtrl* pHeaderCtrl = m_listCtrl.GetHeaderCtrl();if (pHeaderCtrl != nullptr) { // 设置第二列为焦点列 pHeaderCtrl->SetFocu...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::OrderToIndex
在 MFC(Microsoft Foundation Classes)中,CHeaderCtrl 类确实有一个名为 OrderToIndex 的公共方法。该方法用于将头部控件中的显示顺序(order)转换为列的索引(index)。以下是 OrderToIndex 方法的一般用法:int OrderToIndex(int nOrder) const;参数解释: nOrder:头部控件中列的显示顺序。返回值: 如果成功,返回值为与显示顺序相对应的列的索引。 如果失败,返回值为 -1。以下是一个简单的示例,演示如何使用 OrderToIndex 方法:CHeaderCtrl m_headerCtrl;// 在某个函数中调用 Create 方法进行头部控件的创建BOOL bCreated = m_headerCtrl.Create(HDS_HORZ | WS_CHILD | WS_VISIBLE, CRect(10, 10, 300, 40), this,...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::HitTest
CHeaderCtrl 类中有 HitTest 方法,用于确定给定坐标下的头部控件的位置。以下是 HitTest 方法的一般用法:int HitTest(CPoint pt, UINT* pFlags = nullptr) const;参数解释: pt:表示要测试的点的 CPoint 对象。 pFlags:(可选)指向 UINT 的指针,用于接收有关命中测试的其他信息。返回值: 如果成功,返回值是与坐标相对应的项(列)的索引。 如果失败,返回值是 -1。以下是一个简单的示例,演示如何使用 HitTest 方法:CHeaderCtrl m_headerCtrl;// 在某个函数中调用 Create 方法进行头部控件的创建BOOL bCreated = m_headerCtrl.Create(HDS_HORZ | WS_CHILD | WS_VISIBLE, CRect(10, 10, 300, 40), this, ...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::GetOrderArray
MFC 的 CHeaderCtrl 类确实有 GetOrderArray 这个公共方法,用于获取头部控件中项(列)的显示顺序。以下是 GetOrderArray 方法的一般用法:int GetOrderArray(int iCount, LPINT piArray) const;参数解释: iCount:要获取的项数。 piArray:指向保存项索引数组的缓冲区的指针。返回值: 如果成功,返回值为实际获取的项数。这可能小于 iCount,如果 iCount 大于头部控件中的项数。 如果失败,返回值为 -1。以下是一个简单的示例,演示如何使用 GetOrderArray 方法获取头部控件中所有项的显示顺序:CHeaderCtrl m_headerCtrl;// 在某个函数中调用 Create 方法进行头部控件的创建BOOL bCreated = m_headerCtrl.Create(HDS_HORZ | WS_CHILD | WS_VISIBLE, CRect(10, 10, 300, 40), ...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::GetItemRect
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_VISI...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::GetItemCount
CHeaderCtrl 类确实具有 GetItemCount 方法,该方法用于获取头部控件中的项(列)数。以下是 GetItemCount 方法的一般用法:int GetItemCount() const;该方法返回头部控件中的项数。以下是一个简单的示例,演示如何使用 GetItemCount 方法获取头部控件中的项数: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) { // 成功创建头部控件 // 可以添加列标题等操作 // 获取头部控件中的...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::GetItem
CHeaderCtrl 类中确实有一个名为 GetItem 的公共方法,用于获取有关头部控件中特定项(列)的信息。以下是 GetItem 方法的一般用法:BOOL GetItem(int nPos, HDITEM* pHeaderItem) const;参数解释: nPos:要获取信息的项(列)的索引。 pHeaderItem:指向 HDITEM 结构的指针,用于接收有关项的信息。HDITEM 结构定义如下:typedef struct { UINT mask; int cxy; LPWSTR pszText; HBITMAP hbm; int cchTextMax; int fmt; LPARAM lParam; int iImage; int iOrder;} HDITEM;其中,mask 字段指定 HDITEM 结构的哪些字段包含有效数据。您可以使用 HDI_XXX 标志来指定需要的字段。以下是一个示例,演示如何使用 GetItem 方法获取头部控件中的第一列的信息:CHead...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::GetImageList
在 MFC(Microsoft Foundation Classes)中,CHeaderCtrl 类具有 GetImageList 方法,该方法用于获取与头部控件相关联的图像列表(Image List)。以下是 CHeaderCtrl::GetImageList 方法的一般用法:CImageList* GetImageList() const;该方法返回一个指向 CImageList 对象的指针,该对象表示头部控件的图像列表。如果头部控件没有与图像列表相关联,方法将返回 NULL。以下是一个简单的示例:CHeaderCtrl m_headerCtrl;// 在某个函数中调用 Create 方法进行头部控件的创建BOOL bCreated = m_headerCtrl.Create(HDS_HORZ | WS_CHILD | WS_VISIBLE, CRect(10, 10, 300, 40), this, ...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::DeleteItem
在MFC(Microsoft Foundation Classes)中,CHeaderCtrl::DeleteItem 是 CHeaderCtrl 类的一个公共方法,用于删除头部控件中的一个项(列)。以下是 DeleteItem 方法的一般用法:BOOL DeleteItem(int nPos);参数解释: nPos:要删除的项(列)的索引。返回值: 如果成功,返回非零值。 如果失败,返回零。使用示例: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) { /...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::CreateDragImage
CHeaderCtrl::CreateDragImage 是 MFC 中的 CHeaderCtrl 类的一个公共方法,用于创建一个拖动图像,通常用于在拖动列标题时显示一个图像以表示拖动的效果。以下是 CHeaderCtrl::CreateDragImage 方法的一般用法:CImageList* CreateDragImage(int nIndex, LPPOINT lpPoint);参数解释: nIndex:要拖动的列的索引。 lpPoint:指向 POINT 结构的指针,表示鼠标在拖动时的位置。返回值: 如果成功,返回一个指向 CImageList 对象的指针,该对象包含用于拖动的图像。 如果失败,返回 NULL。使用示例:CHeaderCtrl m_headerCtrl;// 在某个函数中调用 Create 方法进行头部控件的创建BOOL bCreated = m_headerCtrl.Create(HDS_HORZ | WS_CHILD | WS_VISIBLE, CRect(10, 10, 300, 40)...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::Create
CHeaderCtrl::Create 是 MFC(Microsoft Foundation Classes)中 CHeaderCtrl 类的一个公共方法,用于创建一个头部控件(Header Control)。头部控件通常用于显示列标题或分组信息。以下是 CHeaderCtrl::Create 方法的一般用法:BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);参数解释: dwStyle:头部控件的风格,可以使用标准的窗口风格常量,如 HDS_HORZ 表示水平方向的头部控件。 rect:头部控件的初始位置和大小,使用 RECT 结构指定。 pParentWnd:指向父窗口的指针,即包含头部控件的窗口。 nID:头部控件的标识符,用于在代码中引用该控件。使用示例:CHeaderCtrl m_headerCtrl;// 在某个函数中调用 Create 方法进行头部控件的创建BOOL bCreated = m_headerCtrl.Create(HDS_HORZ | WS...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::SetOrderArray
在 MFC(Microsoft Foundation Classes)中,CHeaderCtrl::SetOrderArray 是 CHeaderCtrl 类的一个公共方法,用于设置标头控件中列的显示顺序数组。该方法的原型为:BOOL SetOrderArray(int iCount, LPINT piArray);参数: iCount: piArray 数组的大小。 piArray: 指向 int 数组的指针,包含了列的显示顺序。返回值: 如果函数成功,返回非零值;如果失败,返回零。功能:该方法用于设置标头控件中列的显示顺序。通过提供一个包含列索引的数组,可以指定标头项在控件中的显示顺序。使用示例:CHeaderCtrl headerCtrl; // 假设已经创建了标头控件对象int itemCount = headerCtrl.GetItemCount();// 创建数组用于存储列顺序int* orderArray = new int[itemCount];for (int i = 0; i < itemCount; ++i) { orderArray[i] = i; ...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::SetItem
在 MFC(Microsoft Foundation Classes)中,CHeaderCtrl::SetItem 是 CHeaderCtrl 类的一个公共方法,用于设置标头项的属性。该方法的原型为:BOOL SetItem(int nPos, HDITEM* pHeaderItem);参数: nPos: 标头项的位置索引,从零开始。 pHeaderItem: 指向 HDITEM 结构的指针,包含了要设置的标头项的属性。返回值: 如果函数成功,返回非零值;如果失败,返回零。功能:该方法用于设置指定位置的标头项的属性,可以设置标头项的文本、格式、图像等属性。使用示例:CHeaderCtrl headerCtrl; // 假设已经创建了标头控件对象HDITEM headerItem;headerItem.mask = HDI_TEXT | HDI_FORMAT; // 指定要设置的属性,这里是文本和格式headerItem.pszText = _T("New Column"); // 设置新的文本headerItem.fmt = HDF_CENTER; // 设置居中对...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::SetImageList
CHeaderCtrl::SetImageList 是 MFC(Microsoft Foundation Classes)中 CHeaderCtrl 类的一个公共方法,用于设置标头控件的图像列表。这个方法的原型为:CImageList* SetImageList(CImageList* pImageList);参数: pImageList: 指向 CImageList 对象的指针,表示要与标头控件关联的图像列表。可以为 nullptr,表示解除与图像列表的关联。返回值: 返回先前与标头控件关联的图像列表的指针。如果没有关联任何图像列表,则返回 nullptr。功能:该方法用于将图像列表与标头控件关联,以便在标头项中显示图标等图像。使用示例:CHeaderCtrl headerCtrl; // 假设已经创建了标头控件对象CImageList imageList;// 假设已经创建了图像列表对象并添加了图标// 将图像列表与标头控件关联CImageList* pPreviousImageList = headerCtrl.SetImageList(&imageList);// 使用...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::OrderToIndex
CHeaderCtrl::OrderToIndex 是 MFC(Microsoft Foundation Classes)中 CHeaderCtrl 类的一个公共方法,用于将列的显示顺序转换为列的索引。该方法的原型为:int OrderToIndex(int nOrder) const;参数: nOrder: 列的显示顺序。返回值: 返回与给定显示顺序对应的列的索引。功能:该方法用于将指定的列显示顺序转换为相应的列索引。在标头控件中,用户可以通过拖拽列标题来调整列的显示顺序。OrderToIndex 可以用于确定给定显示顺序的列的索引。使用示例:CHeaderCtrl headerCtrl; // 假设已经创建了标头控件对象int columnIndex = headerCtrl.OrderToIndex(1);// 将显示顺序为 1 的列转换为列索引if (columnIndex != -1) { // 转换成功 // columnIndex 包含了显示顺序为 1 的列的索引 // 其他操作...} else { // 转换失败,可能因为显示顺序不存在或错误}...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::InsertItem
在 MFC(Microsoft Foundation Classes)中,CHeaderCtrl::InsertItem 方法用于在标头控件中插入一个新的标头项。这个方法的原型为:int InsertItem(int nPos, LPCTSTR lpszItem, int nWidth = -1, UINT nFormat = 0, int nImage = -1, LPARAM lParam = 0);参数: nPos: 插入标头项的位置索引,从零开始。 lpszItem: 字符串,表示插入的标头项的文本。 nWidth: 标头项的宽度。默认值为 -1,表示使用默认宽度。 nFormat: 标头项的格式。可以是 HDF_LEFT、HDF_RIGHT、HDF_CENTER 等标志的组合。 nImage: 标头项的图像索引。默认值为 -1,表示没有图像。 lParam: 与标头项相关联的用户数据。返回值: 返回插入标头项的位置索引。如果插入失败,返回 -1。功能:该方法用于在标头控件中插入一个新的标头项,并设置其相关属性,如文本、宽度、格式、图像等。使用示例:CHeaderCtrl he...
MFC CHeaderCtrl 类 公共方法:CHeaderCtrl::HitTest
CHeaderCtrl::HitTest 是 MFC(Microsoft Foundation Classes)中 CHeaderCtrl 类的一个公共方法,用于在标头控件中执行击中测试。这个方法的原型为:int HitTest(CPoint pt, UINT* pFlags = nullptr) const;参数: pt: CPoint 结构,表示要测试的点的坐标。 pFlags: 一个指向 UINT 的指针,用于接收有关测试结果的标志。可以为 nullptr。返回值: 返回与测试点相关联的标头项的索引。如果测试点不在任何标头项上,返回 -1。功能:该方法用于确定给定坐标点处的标头项索引,从而进行点击测试。使用示例:CHeaderCtrl headerCtrl; // 假设已经创建了标头控件对象CPoint clickPoint; // 假设有一个点击的点// 执行击中测试int columnIndex = headerCtrl.HitTest(clickPoint);if (columnIndex != -1) { // 点击点处于标头项上 // columnIndex...