我在CListView的一个公共派生类CLogBrowView中定义一个简单函数CreateList(int n),在函数中调用CListCtrl()出错,请多指教。谢谢~!
void CLogBrowseView::CreateList(int n)
{
switch(n)
{
case 1:
GetListCtrl().InsertColumn(0,"data",LVCFMT_CENTER,120);
GetListCtrl().InsertColumn(1,"hostname",LVCFMT_CENTER,120);
break;
default:
GetListCtrl().InsertColumn(0,"data",LVCFMT_CENTER,120);
break;
}
}

解决方案 »

  1.   

    这是还没生成ListCtrl,哪来的GetListCtrl().
      

  2.   

    void   CxxxView::OnInitialUpdate()
    {
    CListView::OnInitialUpdate();CListCtrl  &m_list = GetListCtrl();  m_list.InsertColumn(...)}
      

  3.   

    我需要ListView中的列表头要是可以改变的,不能在初始化中写吧?
      

  4.   

    要怎样生成ListCtrl?不可以直接用GetListCtrl()吗?请解惑,谢谢~!
      

  5.   

    查msdn的SetColumn还不是会用,能否再详解?
      

  6.   

    我需要ListView中的列表头要是可以改变的,不能在初始化中写吧?先初始化,后面可以修改的嘛,多看看msdn
      

  7.   

    就是不知道怎样动态修改列表头啊,msdn太广泛,能否指引一下?
      

  8.   

    CListCtrl& theListCtrl = GetListCtrl();
    theListCtrl.DeleteAllItems();
    theListCtrl.DeleteColumn(...);
    theListCtrl.InsertColumn(...);
    具体用法看csdn
      

  9.   

    还是出错啊,好像是不能这样用的。改变方法:将MainFrame划分为左右两部分,请问如何从左半部分(CLeftView)向右半部分发送消息以动态改变列表头?如何用SendMessage?