お世話になっています。ccです。
TreeViewクラスがあります。
void MyTreeView::OnInitialUpdate()
{
CTreeView::OnInitialUpdate();
//初期値の設定
HTREEITEM hItemRoot = ctrl.InsertItem(神奈川県, 0, 1);
HTREEITEM hItemYkhm = ctrl.InsertItem(横浜市, 0, 1, hItemRoot);
ctrl.InsertItem(西区, 2, 2, hItemYkhm);
ctrl.InsertItem(中区, 2, 2, hItemYkhm);
ctrl.InsertItem(神奈川区, 2, 2, hItemYkhm);
ctrl.InsertItem(横須賀市, 2, 2, hItemRoot);
ctrl.InsertItem(相模原市, 2, 2, hItemRoot);
ctrl.InsertItem(藤沢市, 2, 2, hItemRoot);
}
void MyTreeView::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
CTreeCtrl& ctrl = GetTreeCtrl();
HTREEITEM item = ctrl.GetSelectedItem();
HTREEITEM parent = ctrl.GetParentItem( item);
if ( !parent) // Root.
return;
int index = ctrl.GetItemData( item);
int rid = ctrl.GetItemData( parent);
}
index =0;
rid =0;
アイテムを取得できません。
何か間違っているのでしょうか。
よろしくお願いします
環境:.Net2002 MFC
何が取得できることを期待しているのですか?
GetItemData で取得できるのはアイテムの lParam です。
http://msdn.microsoft.com/ja-jp/library/ettyybhw.aspx
このページで言うところの一番上または2番目の InsertItem で設定しなければ取得で
きません。
aetosさん
ご回答ありがとう。
tvstruct.item.pszText = 神奈川県;
tvstruct.item.lParam = NULL;
hItemRoot = treectrl.InsertItem( &tvstruct);
tvstruct.hParent = hItemRoot;
tvstruct.item.pszText = 横浜市;
tvstruct.item.lParam = (int)RT_ACCELERATOR;
hItemYkhm =treectrl.InsertItem( &tvstruct);
で、うまく取得できました。
ありがとうございました。