2

WIN32 APIを使用して実装されたプロジェクトに取り組んでいます。このプロジェクトでは、ユーザーが入力したデータに基づいて、実行時にツリービューアイテムの一部を表示/非表示にする必要があります。ツリービューコントロールでアイテムを追加/削除できるが、アイテムを表示または非表示に設定する方法がどこにも見つからないという作業を行いました(MFCを介して実行できる例をいくつか見つけました)。

それらを表示/非表示として設定する方法を探しているのは、アイテムを追加するときに、かなりのバックエンド計算が必要であり、追加または削除を繰り返すとパフォーマンスの問題が発生するためです。ツリービューアイテムごとに1回だけその計算を実行したいと思います。

解決策の1つは、ツリービューアイテムの設定が不可能な場合、ツリービューアイテムのリンクリストを存在させ、表示/非表示にする必要があるアイテムのみを追加/削除することだと思いました。

ツリービューアイテムの状態を表示/非表示に設定できるかどうか教えてください。可能であれば、どのように設定しますか?いいえの場合、他の代替ソリューションは何でしょうか?

4

1 に答える 1

5

標準の TreeView コントロールには、ノードの可視性の概念がありません。ノードの追加/削除が唯一のオプションです。ノードが表示するデータのリンクされたリスト キャッシュを個別に維持する必要があります (UI ロジックをビジネス ロジックから分離するために、とにかくこれを行う必要があります)。それ以外の場合は、独自の TreeView コントロールを作成するか、ニーズに合ったサードパーティの実装を見つける必要があります。

于 2012-08-05T23:10:20.953 に答える