私は古いMFCアプリケーションに取り組んでいます。アプリケーションにはTreeViewコントロールがあります。OnItemExpanding関数はオーバーライドされます。TreeViewItemの子を展開することで取得しています。ノードが初めて拡張された場合、その子にデータが入力されます。アイテムの子がない場合、展開アイコン(+記号)がTreeViewItemから削除されます。
ここで問題となるのは、子を持たない1つのノードを拡張したことです。いくつかの作業を行った後、子がそのノードに追加されます。しかし、展開アイコンがないため、新しく追加された子を取得できなくなりました。TreeViewでその特定のノードを更新する方法。更新ボタンを作成しました。その中で、TreeViewで現在選択されているノードを見つけることができますが、次は何ですか。
これがコードです。
void CMyTreeView::OnItemExpanding(CTreeCtrl& tree, NMHDR* pNMHDR, LRESULT* pResult)
{
//This is only called when I click on expand (+ sign)
//some check here which populates children.
}
void CMyTreeView::RefreshNode(CTreeCtrl& tree, HTREEITEM selectedNode)
{
// What should I do here?
}