2017-08-15 17 views
0

私は開発中ですC++ MFCアプリケーションです。そこに私はリストビューコントロールを持っています。リストビューコントロールなし列ヘッダーなし

  1. Iは
  2. ( リソースビュー変数を追加)CListCtrlクラスの下で制御変数(m_listCtrl)を定義Iは、コードスニペット

Output

いいえ列ヘッダーと列を以下のように列を追加します。どんな助けもありがとうございます。

static void AddData(CListCtrl &ctrl, int row, int col, const char *str) 
{ 
    LVITEM lv; 
    lv.iItem = row; 
    lv.iSubItem = col; 
    lv.pszText = (LPSTR)str; 
    lv.mask = LVIF_TEXT; 
    if (col == 0) 
     ctrl.InsertItem(&lv); 
    else 
     ctrl.SetItem(&lv); 
} 


BOOL CmfcTestDlg::OnInitDialog() 
{ 
    //.. default code in MFC for dialog here   
    m_listCtrl.InsertColumn(0, "Page"); 
    m_listCtrl.SetColumnWidth(0, 60); 

    m_listCtrl.InsertColumn(1, "Last Modified"); 
    m_listCtrl.SetColumnWidth(1, 80); 

    m_listCtrl.InsertColumn(2, "Prioirty"); 
    m_listCtrl.SetColumnWidth(2, 50); 

    m_listCtrl.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT); 

    AddData(m_listCtrl, 0, 0, "First"); 
    AddData(m_listCtrl, 0, 1, "Jan 2011"); 
    AddData(m_listCtrl, 0, 2, "Medium"); 

    AddData(m_listCtrl, 1, 0, "Second"); 
    AddData(m_listCtrl, 1, 1, "Feb 2011"); 
    AddData(m_listCtrl, 1, 2, "High"); 

    return TRUE; // return TRUE unless you set the focus to a control 
} 
+1

コントロールにLVS_REPORTスタイルがあるとしますか? – Steve

+0

@ Steve私はスタイルの種類を追加しませんでした – venaizu

答えて

2

ダイアログテンプレートを使用しているため、そこにヘッダーのスタイルを設定する必要があります。

リソースエディタでコントロールをクリックします。 レポートが選択されていることを確認してください(セクション外観、プロパティ、表示)。セクションの外観で

は、 ない列のヘッダーに設定 にありません

あなたはのスタイルLVS_NOCOLUMNHEADERに

スタイルを使用していない、独自のコードによって、リストビューを作成した場合列ヘッダーは負を定義します。したがって、ヘッダーを非表示にする場合はスタイルを設定します。他のほとんどのスタイルはpositivで定義されているので、スタイルを設定する必要があります。ときどき混乱します。

関連する問題