NMTBSAVE 结构 (commctrl.h)

当应用程序收到 TBN_SAVE 通知代码时,此结构将传递给应用程序。 它包含有关当前正在保存的按钮的信息。 应用程序可以修改成员的值以保存其他信息。

语法

typedef struct tagNMTBSAVE {
  NMHDR    hdr;
  DWORD    *pData;
  DWORD    *pCurrent;
  UINT     cbData;
  int      iItem;
  int      cButtons;
  TBBUTTON tbButton;
} NMTBSAVE, *LPNMTBSAVE;

成员

hdr

类型: NMHDR

包含有关通知的其他信息的 NMHDR 结构。

pData

类型: DWORD*

指向用于存储保存信息的数据流的指针。 完成后,它将包含每个按钮的 Shell 定义信息块,并与应用程序定义的块交替显示。 应用程序还可以选择将全局数据块放置在 pData 的开头。 应用程序定义的块的格式和长度由应用程序确定。 开始保存时,Shell 将传递 cbData 中所需的内存量,但不分配内存。 必须为 pData 分配足够的内存来保存数据,以及 Shell 的内存。

pCurrent

类型: DWORD*

指向数据流未使用部分开头的指针。 应在此处加载数据,然后将 pCurrent 前进到剩余未使用部分的开头。 然后,Shell 将加载下一个按钮的信息、前进 pCurrent 等。

cbData

类型: UINT

数据流的大小。 开始保存时, cbData 将设置为 Shell 所需的数据量。 应将其更改为分配的总金额。

iItem

类型: int

此参数通常是当前保存的按钮的从零开始的索引。 它设置为 -1,表示正在开始保存。

cButtons

类型: int

按钮数的估计值。 由于它基于数据流的大小,因此它可能不正确。 客户端应根据需要更新它。

tbButton

类型: TBBUTTON

包含当前保存的按钮相关信息的 TBBUTTON 结构。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 commctrl.h