TreeViewのアイテム取得 – プログラミング – Home

通知
すべてクリア

[解決済] TreeViewのアイテム取得


cc
 cc
(@cc)
ゲスト
結合: 23年前
投稿: 80
Topic starter  

お世話になっています。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


引用未解決
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

何が取得できることを期待しているのですか?

GetItemData で取得できるのはアイテムの lParam です。

http://msdn.microsoft.com/ja-jp/library/ettyybhw.aspx
このページで言うところの一番上または2番目の InsertItem で設定しなければ取得で
きません。


返信引用
cc
 cc
(@cc)
ゲスト
結合: 23年前
投稿: 80
Topic starter  

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);

で、うまく取得できました。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました