通常、ツリー コントロール (CTreeCtrl) に項目を追加するときに、項目のラベルのテキストを指定します。
InsertItem
メンバー関数は、ラベルのテキストを含む文字列を含む、項目のプロパティを定義する TVITEM 構造体を渡すことができます。
InsertItem
には、さまざまなパラメーターの組み合わせで呼び出すことができるいくつかのオーバーロードがあります。
ツリー コントロールは、各項目を格納するためのメモリを割り当てます。項目ラベルのテキストは、このメモリのかなりの部分を占めます。 アプリケーションがツリー コントロール内の文字列のコピーを保持している場合は、ツリー コントロールに実際の文字列を渡す代わりに、TV_ITEM
の pszText メンバーまたは lpszItem パラメーターにLPSTR_TEXTCALLBACK値を指定することで、コントロールのメモリ要件を減らすことができます。
LPSTR_TEXTCALLBACKを使用すると、項目を再描画する必要があるときに、ツリー コントロールはアプリケーションから項目のラベルのテキストを取得します。 テキストを取得するために、ツリー コントロールは、NMTVDISPINFO 構造体のアドレスを含むTVN_GETDISPINFO通知メッセージを送信します。 含まれる構造体の適切なメンバーを設定して応答する必要があります。
ツリー コントロールは、ツリー コントロールを作成するプロセスのヒープから割り当てられたメモリを使用します。 ツリー コントロール内の項目の最大数は、ヒープで使用可能なメモリの量に基づきます。 各項目は 64 バイトを受け取ります。