ツリーコントロールにルートしか表示されない

[戻る]
ガラ 2011/02/14(月) 20:44:36
MFC VC++ 6.0
XP
ダイアログボックスにツリーコントロールをはりつけて、そのツリーコントロールにD
DX変数m_Treeを割り当てて、OnInitDialogで以下のようにコーディングしましたが、
「乗り物」しか表示されません。どうしてでしょう?
BOOL CDrawBinaryTree::OnInitDialog() 
{
    CDialog::OnInitDialog();
    
    // TODO: この位置に初期化の補足処理を追加してください


    HTREEITEM    hItem ;
    ASSERT(hItem = m_Tree.InsertItem(_T("乗り物"), TVI_ROOT)) ;
    ASSERT(m_Tree.InsertItem(_T("バス"), hItem)) ;
    ASSERT(m_Tree.InsertItem(_T("飛行機"), hItem)) ;
    ASSERT(hItem = m_Tree.InsertItem(_T("電車"), hItem));
    ASSERT(m_Tree.InsertItem(_T("山手線"), hItem)) ;

//    m_Tree.RedrawWindow();

    return TRUE;  
}

瀬戸っぷ [E-Mail] 2011/02/14(月) 22:36:55
VS2005で試しました。

その「乗り物」だダブルクリックしたらどうなりますか?
コントロールのスタイルにTVS_HASBUTTONSやTVS_LINESATROOTがついていないとROOTだけ
ではわかりにくい…と思われますが。

ガラ 2011/02/15(火) 19:33:10
[[解決]]
瀬戸っぷさん、レスありがとうございます。
ご指摘のツリービューのコントロールのスタイルについて調べてみました。
リソースエディターで該当ツリービューのプロパティ->スタイルで、
・ボタンあり
・線を表示
・最上位にも線を表示
にチェックをし、コンパイルしなおすと下位のものもでてきました。
ありがとうございました。

古いスレッドには追加発言できません。