如题

解决方案 »

  1.   

    CListCtrl list = //...;
    CHeaderCtrl header = list.GetHeaderCtrl(); //获取列表头部分
    int nCount = header.GetItemCount(); //获取列数=======   int    i = 0;
      int nCount = pmyHeaderCtrl->GetItemCount();
        HDITEM hdi;
        enum   { sizeOfBuffer = 256 };
        TCHAR  lpBuffer[sizeOfBuffer];
       
        hdi.mask = HDI_TEXT;
        hdi.pszText = lpBuffer;
        hdi.cchTextMax = sizeOfBuffer;    pmyHeaderCtrl->GetItem(i, &hdi);// 你需要的信息保存在HDITEM结构之中
       
        
      

  2.   

    void CscwjView::DrawInfo(CDC &memDC, PRNINFO PrnInfo)
    {
    if(memDC.m_hDC == NULL) return; TCHAR szTitle[100];
    strcpy(szTitle, PrnInfo.szTitle); //报表标题
    int nCurPage = PrnInfo.nCurPage; //当前页
    BOOL IsPrint = PrnInfo.IsPrint; //是否打印
    int nMaxPage = PrnInfo.nCountPage; //最大页码
    ENREQTYPE enReqType = PrnInfo.enReqType; //查询类型
    HWND hWnd = PrnInfo.hWnd;         //窗口句柄
    HWND hList = PrnInfo.hListView; //列表控件句柄
    }我的DrawInfo是CscwjView类的静态成员函数,通过参数结构体PrnInfo取得了PrnInfo.hListView
    我现在想通过这个hListView这个句柄来取它的Header资料
      

  3.   

    for (int i=0;;i++)
    {
    LVCOLUMN lvc;
    if (!SendMessage(hWnd, LVM_GETCOLUMN, (WPARAM)i, (LPARAM)&lvc)) break;
    // ...
    }
      

  4.   

    int itemCount = (int)SendMessage((HWND)SendMessage(hWnd, LVM_GETHEADER, 0, 0), HDM_GETITEMCOUNT, 0, 0);
      

  5.   

    按照两位的提示,问题已基本解决。    HDITEM hdi; 
        enum   { sizeOfBuffer = 256 }; 
        TCHAR  lpBuffer[sizeOfBuffer]; 
        
        hdi.mask = HDI_TEXT; 
        hdi.pszText = lpBuffer; 
        hdi.cchTextMax = sizeOfBuffer;     pmyHeaderCtrl->GetItem(i, &hdi); // 你需要的信息保存在HDITEM结构之中 
    以上可以取得了Text,但如果我想同时取得头部的列宽、对齐方式等信息,应该如何写?谢谢
      

  6.   

    列宽可以直接用:CListCtrl::GetColumnWidth 方法的
      

  7.   

    我的HDITEM在静态成员函数中,现已取得HDITEM了,我希望Text\列宽\对齐方式都从HDITEM中取,应该如何写?hdi.mask 的用法怎样呢?
      

  8.   

    SendMessage发LVM_GETCOLUMNWIDTH消息
      

  9.   

    LVCOLUMN col;
    col.mask   =   LVCF_FMT | LVCF_WIDTH;if (m_myListCtrl.GetColumn(0, &col))
    {
       // 对齐方法保存在 col.fmt
       // 宽度保持在col.cx
    }
      

  10.   


    HDITEM的用法和我上面LVCOLUMN的用法一样