树控件项标签

将项添加到树控件 (CTreeCtrl) 时,通常会指定项标签的文本。 InsertItem 成员函数可以传递定义项属性的 TVITEM 结构,包括包含标签文本的字符串。 InsertItem 有多个重载,可使用各种参数组合调用。

树控件分配内存用于存储每个项;项标签的文本占据了内存的很大一部分。 如果应用程序在树控件中维护字符串的副本,则可以通过在 TV_ITEM 的 pszText 成员中指定 LPSTR_TEXTCALLBACK 值或 lpszItem 参数,而不是将实际字符串传递给树控件。 使用 LPSTR_TEXTCALLBACK 会导致树控件在每次需要重绘项目时就从应用程序中检索项标签的文本。 为检索文本,树控件会发送 TVN_GETDISPINFO 通知消息,其中包括 NMTVDISPINFO 结构的地址。 必须通过设置所包含结构的相应成员来响应。

树控件使用从创建树控件的进程堆分配的内存。 树控件中的最大项数取决于堆中可用内存量。 每个项占用 64 个字节。

另请参阅

使用 CTreeCtrl
控件