void CMyListView::OnInitialUpdate()
{
   CListView::OnInitialUpdate();   // this code only works for a report-mode list view
   ASSERT(GetStyle() & LVS_REPORT);   // Gain a reference to the list control itself
   CListCtrl& theCtrl = GetListCtrl();   // Insert a column. This override is the most convenient.
   theCtrl.InsertColumn(0, _T("Player Name"), LVCFMT_LEFT);   // The other InsertColumn() override requires an initialized
   // LVCOLUMN structure.
   LVCOLUMN col;
   col.mask = LVCF_FMT | LVCF_TEXT;
   col.pszText = _T("Jersey Number");
   col.fmt = LVCFMT_LEFT;
   theCtrl.InsertColumn(1, &col);   // Set reasonable widths for our columns
   theCtrl.SetColumnWidth(0, LVSCW_AUTOSIZE_USEHEADER);
   theCtrl.SetColumnWidth(1, LVSCW_AUTOSIZE_USEHEADER);
}
我拷贝了这样一段代码,在程序运行的时候我为什么看不到列标题?也看不到记录
总之,什么也看不到!请问这是怎么回事?请高人指点一二!我的CMyListView继承的也是CListView呀!糊涂中着急中

解决方案 »

  1.   

    试试
    theCtrl.InsertColumn(0, _T("Player Name"), LVCFMT_LEFT, 100);
    theCtrl.InsertColumn(1, _T("Jersey Number"), LVCFMT_LEFT, 100);
    其他的代码注释掉,试试
      

  2.   

    还是看不到呀!我看InsertColumn的返回值是0,这样这个函数是不是成功了呢?可是为什么还看不到?
      

  3.   

    m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); m_List.InsertColumn(0,"号码");
    m_List.InsertColumn(1,"姓名");
    m_List.InsertColumn(2,"图片"); m_List.SetColumnWidth(0,80);
    m_List.SetColumnWidth(1,80);
    m_List.SetColumnWidth(2,40);
    你ListCtrl的属性,要设成,Report
      

  4.   

    很不好意思,我是第一次用这东西,ListCtrl的属性在那里设置呀?谢谢!
      

  5.   

    还是什么都没有显示呀!怎么办?我是用类向导建立的工程,在最后一步的时候将VIEW类的基累改为CListView的!这个过程不会有什么问题吧!然后就在void CMyListView::OnInitialUpdate()中加入了上面的代码。理论上讲执行的时候是不是应该能看到插入的列标题?可是为什么现在什么都看不到呀!555555555555。。
      

  6.   

    1。把下面这句注释掉
       ASSERT(GetStyle() & LVS_REPORT);  2。在CListCtrl& theCtrl = GetListCtrl();后面加入
       LONG dwStyle = GetWindowLong( theCtrl.m_hWnd, GWL_STYLE ) ;
       SetWindowLong( theCtrl.m_hWnd, GWL_STYLE, dwStyle | LVS_REPORT ) ;