3

ProcessExplorerと同じようにTreeListコントロールを実装する必要があります。私はGUIの初心者であり、そのような複雑なコントロールは作成していません。

Process Explorerに表示されているように、TreeListWindowClassがあり、子が含まれています。2つのヘッダー、3つのスクロールバー(そのうちの1つは非表示ですか?)、1つの静的(表示されているスクロールバーの間に配置)です。私が理解しているように、メインコントロールはそれ自体の中にすべてのアイテムを描画します。また、添付されたdllにmfcxxx.dllが見つかりませんでした。

質問1:どのフレームワークを使用するのが良いですか?MFC、WTL、プレーンWinAPI…この実装http://www.codeguru.com/cpp/controls/treeview/classes/article.php/c13167を調べたところ、8000行を超えるコードと混同されていました。巨大な構造を持つcppファイル(そのうちの1つには80のメンバーが含まれています)。これはプレーンなWinAPI(および++なしのC)です。絶対にOOPスタイルを使いたいです。=)

質問2:このコントロールの高レベルの設計はどうあるべきですか?このコントロールをどのように設計する必要があるかを詳細に説明できますか?

私の制限:C ++、VS10、OS:Vista以降。

前もって感謝します

4

4 に答える 4

3

私は最近これを行い、 http://www.mimec.org/articles/mfc/mctreeのマルチカラムツリービューを使用しました

マルチカラムツリービューのスクリーンショット

それはかなり基本的ですが、私のニーズを満たし、かなりコンパクトです。CColumnTreeView-のサブクラスであるクラスを提供するCViewため、MFCの標準のCDocument/CViewパターンで正しく機能します。

于 2011-03-22T09:29:15.910 に答える
2

Process HackerのソースからProcessExplorerの「ツリーリストビュー」に完全に相当するものを見つけることができます(これは私見よりもはるかに優れています)。

于 2011-03-22T05:34:34.140 に答える
0

Qtは、プログラムの要件を満たしているように見える 、完全に機能するQTreeWidgetを提供するライブラリです。
ここに画像の説明を入力してください

于 2011-03-22T09:30:39.797 に答える
0

DevExpressにはいくつかの優れたツリーリストコントロールがありますが、それらはC#で記述されています。ただし、C ++/CLIまたはマネージC++を使用してそれらをターゲットにすることができます。そのため、アプリを管理できるかどうかはわかりません。したがって、おそらくそれはそれほど役に立たないかもしれません。

無料のツリーリストコントロールについては、バグやサポートの欠如のために、それらから遠ざけるようにしています。

于 2011-03-22T10:02:09.233 に答える