在线等!ListCtrl的头用GetHeaderCtrl取得时出了问题,大家帮看一下吧

hongyi_7 2005-12-03 05:14:10
我在一个对话框类里绑定了一个ClistCtrl类变量m_pReportList,
// Dialog Data
//{{AFX_DATA(CReportDlg)
enum { IDD = IDD_TABLE_REPORT };
CListCtrl m_pReportList;
//}}AFX_DATA
在这个类一个成员函数中我要取得这个CListCtrl的标题头,我是这样用的
CHeaderCtrl * pHeaderCtrl;
pHeaderCtrl=m_pReportList.GetHeaderCtrl();
但是现在却有错误
G:\AreaManage\ReportDlg.cpp(430) : error C2228: left of '.GetHeaderCtrl' must have class/struct/union type
这是什么意思?
我试过用
CListCtrl * pListCtrl=(CListCtrl *)GetDlgItem(IDC_LIST);
CHeaderCtrl * pHeaderCtrl;
pHeaderCtrl=pListCtrl->GetHeaderCtrl();
错误是这样的:
G:\AreaManage\ReportDlg.cpp(429) : error C2352: 'CWnd::GetDlgItem' : illegal call of non-static member function
帮我看一下吧
...全文
164 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
koko1998 2005-12-05
  • 打赏
  • 举报
回复
静态函数中使用的成员变量必须的是静态的。

DrawInfo不静态不可以?
hongyi_7 2005-12-05
  • 打赏
  • 举报
回复
"必须把指针传给 staticob函数 通过这个指针来调用"
可不可以说一下这个函数怎么用?谢谢
xundeng 2005-12-03
  • 打赏
  • 举报
回复
static 定义的函数不是类成员,要在static 函数中使用类成员 必须把指针传给 staticob
函数 通过这个指针来调用。
hongyi_7 2005-12-03
  • 打赏
  • 举报
回复
你定义的m_pReportList是对象还是指针?

是对象
enum { IDD = IDD_TABLE_REPORT };
CListCtrl m_pReportList;
hongyi_7 2005-12-03
  • 打赏
  • 举报
回复
是的,这个函数是这样定义的
protected:
static void DrawInfo(CDC &memDC, PRNINFO PrnInfo);
在这个函数中使用
CHeaderCtrl * pHeaderCtrl;
pHeaderCtrl=m_pReportList.GetHeaderCtrl();

song_09 2005-12-03
  • 打赏
  • 举报
回复
你定义的m_pReportList是对象还是指针?
vcmute 2005-12-03
  • 打赏
  • 举报
回复
你在static函数中调用?

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧