当CListCtrl为LVS_REPORT模式时,就需要用到CHeaderCtrl 取得CHeaderCtrl指针: 方法一:
CListCtrl *pListCtrl = (CListCtrl *)GetListCtrl(); CHeaderCtrl *pHeaderCtrl = pListCtrl->GetHeaderCtrl(); ASSERT(pHeaderCtrl); 方法二:
CWnd *pWnd = pListCtrl->GetDlgItem(0); //注:CListCtrl分配给CHeaderCtrl的Control ID一直都是0 ASSERT(pWnd); CHeaderCtrl *pHeaderCtrl = static_cast (pWnd); ASSERT(pHeaderCtrl);
自定义标头项的外观通过在首次创建标头控件 (CHeaderCtrl::Create) 时设置 dwStyle 参数,可以定义标头项或标头控件本身的外观和行为。以下是可以设置的样式的取样及其用途: • 若要使标头项看上去像一个普通按钮,请使用 HDS_BUTTONS 样式。 如果要采取操作以响应标头项上的鼠标单击(如按照特定的列对数据进行排序,像在 Microsoft Outlook 中那样),请使用此样式。 • 若要在鼠标光标经过标头项时给予标头项“热跟踪”的外观,请使用 HDS_HOTTRACK 样式。 当指针经过本来是平面的栏中的项时,热跟踪显示三维轮廓。 • 若要指示应隐藏标头控件,请使用 HDS_HIDDEN 样式。 HDS_HIDDEN 样式指示标头控件用作数据容器而不是可视控件。此样式不自动隐藏控件,但却影响 CHeaderCtrl::Layout 的行为。WINDOWPOS 结构的 cy 成员中返回的值将是零,表示不应该让用户看到此控件。