Programming Tips #4 ツリービューの子アイテムをあとで検索とした場合の注意点
ツリービューアイテムの cChildren を I_CHILDRENCALLBACK に設定してまだ TVN_GETDISPINFO 通知が来ていない場合、子アイテムを調査しようとして TreeView_GetChild() を実行すると NULL になってしまうので注意しろ。
先に TreeView_GetItem() を実行すれば TVN_GETDISPINFO 通知が発行されるので問題ない。
HTREEITEM GetChild( HWND hTree, HTREEITEM hParent ) { TVITEM tvItem; tvItem.mask = TVIF_HANDLE | TVIF_CHILDREN; tvItem.hItem = hParent; TreeView_GetItem( hTree, & tvItem ); return TreeView_GetChild( hTree, hParent ); }
但し、マスクフラグに TVIF_CHILDREN を忘れずに付けること。
以上。