Win32 API:TBBUTTONINFOA 结构(Commctrl.h)
TBBUTTONINFOA 结构用于设置或获取工具栏(Toolbar)按钮的信息。这个结构在 Commctrl.h 头文件中定义。以下是 TBBUTTONINFOA 结构的定义:typedef struct { UINT cbSize; DWORD dwMask; int idCommand; int iImage; BYTE fsState; BYTE fsStyle; WORD cx; LPARAM lParam; LPSTR pszText; int cchText;} TBBUTTONINFOA, *LPTBBUTTONINFOA; cbSize: 结构体的大小,以字节为单位,必须设置为 sizeof(TBBUTTONINFOA)。 dwMask: 用于指定在结构体中哪些字段包含有效数据的标志位。可以是以下值的组合: - TBIF_IMAGE: iImage 字段有效。 - TBIF_STATE: fsState 字段有效。 - TBIF_STYLE: fsStyle 字段有效。 - TBIF_SIZE: cx...
Win32 API:TBBUTTON 结构(Commctrl.h)
TBBUTTON 结构用于定义工具栏(Toolbar)控件中的按钮。这个结构在 Commctrl.h 头文件中定义。以下是 TBBUTTON 结构的定义:typedef struct { int iBitmap; // 位图的索引或标识符 int idCommand; // 命令标识符 BYTE fsState; // 按钮状态 BYTE fsStyle; // 按钮风格 BYTE bReserved[2]; // 保留,必须为0 DWORD_PTR dwData; // 用户数据 INT_PTR iString; // 字符串的索引或标识符} TBBUTTON, *PTBBUTTON, *LPTBBUTTON; iBitmap: 位图的索引或位图标识符,用于指定按钮显示的图像。 idCommand: 命令标识符,用于识别按钮。 fsState: 按钮状态,可以是以下值的组合: - TBSTATE_CHECKED: 按钮处于选中状态。 - TBSTATE_ENABLED: 按钮可用...
Win32 API:TBADDBITMAP 结构(Commctrl.h)
在 Win32 API 中,TBADDBITMAP 结构用于向工具栏(Toolbar)中添加位图。这个结构在 Commctrl.h 头文件中定义。以下是 TBADDBITMAP 结构的定义:typedef struct { HINSTANCE hInst; UINT nID;} TBADDBITMAP, *LPTBADDBITMAP; hInst: 包含位图资源的模块的句柄,通常是主程序的实例句柄。 nID: 位图资源的资源标识符(ID)。这个结构体通常用于 TB_ADDBITMAP 消息,通过该消息向工具栏控件添加位图。例如:TBBUTTON tbb[3];HWND hwndToolbar = CreateToolbarEx( hwndParent, WS_CHILD | WS_VISIBLE | TBSTYLE_TOOLTIPS, ID_TOOLBAR, 3, hInst, IDB_STD_SMALL_COLOR, tbb, 3, 16, 16, 16, 16, sizeof(TBB...
Win32 API:TASKDIALOGCONFIG 结构(Commctrl.h)
TASKDIALOGCONFIG 结构用于配置和启动任务对话框(Task Dialog)。这个结构在 Commctrl.h 头文件中定义。以下是 TASKDIALOGCONFIG 结构的定义:typedef struct _TASKDIALOGCONFIG { UINT cbSize; HWND hwndParent; HINSTANCE hInstance; TASKDIALOG_FLAGS dwFlags; TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons; PCWSTR pszWindowTitle; union { HICON hMainIcon; PCWSTR pszMainIcon; } DUMMYUNIONNAME; PCWSTR pszMainInstruction; PCWSTR pszContent; UINT cButtons; ...
Win32 API:TASKDIALOG_BUTTON 结构(Commctrl.h)
在 Win32 API 中,TASKDIALOG_BUTTON 结构用于定义任务对话框(Task Dialog)中的按钮。这个结构在 Commctrl.h 头文件中定义。以下是 TASKDIALOG_BUTTON 结构的定义:typedef struct _TASKDIALOG_BUTTON { int nButtonID; PCWSTR pszButtonText;} TASKDIALOG_BUTTON; nButtonID: 按钮的 ID,用于标识按钮。 pszButtonText: 按钮上显示的文本。这个结构通常用于 TASKDIALOGCONFIG 结构中的 pButtons 字段,用于指定任务对话框中的按钮。例如:TASKDIALOG_BUTTON buttons[] = { { IDOK, L"OK" }, { IDCANCEL, L"Cancel" }, { IDYES, L"Yes" }, { IDNO, L"No" }};TASKDIALOGC...
Win32 API:REBARINFO 结构(Commctrl.h)
REBARINFO 结构用于设置或获取 ReBar 控件的一些信息。以下是 REBARINFO 结构的定义:typedef struct tagREBARINFO { UINT cbSize; UINT fMask; HIMAGELIST himl;} REBARINFO, *LPREBARINFO; cbSize: 结构体的大小,以字节为单位,必须设置为 sizeof(REBARINFO)。 fMask: 一个标志位,指定在结构体中哪些字段包含有效数据。可以是以下值之一: - RBIM_IMAGELIST: himl 字段有效。 himl: 一个图像列表的句柄,用于在 ReBar 控件中显示图像。该结构体主要用于设置或获取 ReBar 控件的一些通用信息,例如关联的图像列表。使用时,需要将 cbSize 设置为结构体的大小,并通过设置 fMask 来指定要操作的字段。
Win32 API:REBARBANDINFOW 结构(Commctrl.h)
REBARBANDINFOW 结构体用于描述和设置 ReBar 控件中的带(band)的信息,其中的 "W" 表示它是宽字符集(Unicode)版本。以下是 REBARBANDINFOW 结构体的定义:typedef struct tagREBARBANDINFOW { UINT cbSize; UINT fMask; UINT fStyle; COLORREF clrFore; COLORREF clrBack; LPWSTR lpText; UINT cch; int iImage; HWND hwndChild; UINT cxMinChild; UINT cyMinChild; UINT cx; HBITMAP hbmBack; UINT wID; UINT cyChild; UINT cyMaxChild; UINT cyIntegral; UINT cxIdeal; LPA...
Win32 API:REBARBANDINFOA 结构(Commctrl.h)
REBARBANDINFOA 结构用于描述和设置 ReBar 控件中的带(band)的信息,其中的 "A" 表示 ANSI 字符集版本。以下是 REBARBANDINFOA 结构的定义:typedef struct tagREBARBANDINFOA { UINT cbSize; UINT fMask; UINT fStyle; COLORREF clrFore; COLORREF clrBack; LPSTR lpText; UINT cch; int iImage; HWND hwndChild; UINT cxMinChild; UINT cyMinChild; UINT cx; HBITMAP hbmBack; UINT wID; UINT cyChild; UINT cyMaxChild; UINT cyIntegral; UINT cxIdeal; LPARAM lPa...
Win32 API:RBHITTESTINFO 结构(Commctrl.h)
在 Win32 API 中,RBHITTESTINFO 结构用于包含与 ReBar 控件相关的命中测试信息。此结构在 Commctrl.h 头文件中定义。以下是 RBHITTESTINFO 结构的定义:typedef struct tagRBHITTESTINFO { POINT pt; UINT flags; int iBand;} RBHITTESTINFO, *LPRBHITTESTINFO; pt: 一个 POINT 结构,表示坐标位置,用于进行命中测试的位置。 flags: 一个 UINT 类型的标志,指定额外的信息。可能的标志包括: - RBHT_CAPTION: 命中 ReBar 控件的标题区域。 - RBHT_CLIENT: 命中 ReBar 控件的客户区域。 - RBHT_GRABBER: 命中 ReBar 控件的分隔抓手。 iBand: 如果 RBHT_GRABBER 被设置,iBand 包含了命中的分隔抓手所属的带的索引。否则,它的值为 -1。这个结构体通常用于通过发送 RB_HITTEST 消息来执行 ReBar 控件的命中测试,以确定鼠...
Win32 API:PBRANGE 结构(Commctrl.h)
在 Win32 API 中,PBRANGE 不是一个结构体,而是一个宏定义。它通常用于表示进度条控件(ProgressBar Control)的范围。在 Commctrl.h 头文件中,PBRANGE 定义如下:#define PBRANGE PBRANGEtypedef struct _PBRANGE { int iLow; int iHigh;} PBRANGE, *PPBRANGE;这里,PBRANGE 被定义为 struct _PBRANGE 的别名,而 _PBRANGE 结构体包含两个整数成员:iLow 表示范围的下限,iHigh 表示范围的上限。这个结构体主要用于设置或获取进度条控件的范围。当你需要设置进度条控件的范围时,可以使用 PBRANGE 结构体,例如:PBRANGE pbRange;pbRange.iLow = 0;pbRange.iHigh = 100;SendMessage(hProgressBar, PBM_SETRANGE, 0, (LPARAM)&pbRange);上述代码演示了如何将范围设置为从 0 到 100。请注意,hProgr...
Win32 API:NMTVSTATEIMAGECHANGING 结构(Commctrl.h)
NMTVSTATEIMAGECHANGING 是 Win32 API 中用于树形视图控件(Tree-View Control)的状态图像改变通知结构之一,它在 Commctrl.h 头文件中定义。这个结构体通常用于通知树形视图控件中的项的状态图像即将发生变化。以下是 NMTVSTATEIMAGECHANGING 结构的定义:typedef struct tagNMTVSTATEIMAGECHANGING { NMHDR hdr; HTREEITEM hti; int iOldStateImageIndex; int iNewStateImageIndex;} NMTVSTATEIMAGECHANGING, *LPNMTVSTATEIMAGECHANGING; hdr: 一个 NMHDR 结构,包含了通知的通用信息,如窗口句柄、通知的代码等。 hti: 发生状态图像变化的树形视图项的句柄(HTREEITEM)。 iOldStateImageIndex: 旧的状态图像索引。 iNewStateImageIndex: 新的状态图像索引。这个结构通常用于...
Win32 API:NMTVKEYDOWN 结构(Commctrl.h)
NMTVKEYDOWN 是 Win32 API 中用于树形视图控件(Tree-View Control)的键盘按键通知结构之一,它在 Commctrl.h 头文件中定义。这个结构体通常用于通知树形视图控件的键盘按键事件。以下是 NMTVKEYDOWN 结构的定义:typedef struct tagNMTVKEYDOWN { NMHDR hdr; WORD wVKey; UINT flags;} NMTVKEYDOWN, *LPNMTVKEYDOWN; hdr: 一个 NMHDR 结构,包含了通知的通用信息,如窗口句柄、通知的代码等。 wVKey: 按下的虚拟键码。可以使用 Winuser.h 中定义的 VK_ 前缀的常量来判断按下了哪个键。 flags: 标志位,提供关于键盘按键状态的附加信息。可能的标志包括: - TVIS_CUT:项目被剪切。 - TVIS_DROPHILITED:项目被突显,表示拖放操作的目标。 - TVIS_EXPANDED:项目已展开。 - TVIS_BOLD:项目以粗体显示。这个结构通常用于处理树形视图控件...
Win32 API:NMTVITEMCHANGE 结构(Commctrl.h)
NMTVITEMCHANGE 是 Win32 API 中用于树形视图控件(Tree-View Control)的通知结构之一,它在 Commctrl.h 头文件中定义。这个结构体通常用于通知树形视图控件中的项(item)发生了变化。以下是 NMTVITEMCHANGE 结构的定义:typedef struct tagNMTVITEMCHANGE { NMHDR hdr; UINT uChanged; HTREEITEM hItem; LPARAM uStateNew; LPARAM uStateOld; LPARAM lParam;} NMTVITEMCHANGE, *LPNMTVITEMCHANGE; hdr: 一个 NMHDR 结构,包含了通知的通用信息,如窗口句柄、通知的代码等。 uChanged: 指示发生了什么类型的变化。可以是以下值之一: - TVIF_STATE:状态发生变化。 - TVIF_IMAGE:图像(Image)发生变化。 - TVIF_SELECTEDIMAGE:选定的图像(Selected Im...
Win32 API:NMTVGETINFOTIPW 结构(Commctrl.h)
NMTVGETINFOTIPW 结构体是用于树形视图控件(TreeView Control)的通知消息 TVN_GETINFOTIPW 中的一种结构体。这个结构体用于传递有关获取树形视图项信息的请求和响应。以下是 NMTVGETINFOTIPW 结构体的定义:typedef struct tagNMTVGETINFOTIPW { NMHDR hdr; LPWSTR pszText; int cchTextMax; HTREEITEM hItem; LPARAM lParam;} NMTVGETINFOTIPW, *LPNMTVGETINFOTIPW;结构体的成员含义如下: hdr: 通用的通知消息头部,包括了通知的类型(code)和控件的句柄等信息。 pszText: 指向一个缓冲区,用于存放树形视图项的文本信息。 cchTextMax: 指定 pszText 缓冲区的最大字符数。 hItem: 要获取信息的树形视图项的句柄。 lParam: 树形视图项的自定义数据。通过处理 TVN_GETINFOTIPW 消息并检查 NMTVGETINFOTIPW ...
Win32 API:NMTVGETINFOTIPA 结构(Commctrl.h)
NMTVGETINFOTIPA 结构体是用于树形视图控件(TreeView Control)的通知消息 TVN_GETINFOTIPA 中的一种结构体。这个结构体用于传递有关获取树形视图项信息的请求和响应。以下是 NMTVGETINFOTIPA 结构体的定义:typedef struct tagNMTVGETINFOTIPA { NMHDR hdr; LPSTR pszText; int cchTextMax; HTREEITEM hItem; LPARAM lParam;} NMTVGETINFOTIPA, *LPNMTVGETINFOTIPA;结构体的成员含义如下: hdr: 通用的通知消息头部,包括了通知的类型(code)和控件的句柄等信息。 pszText: 指向一个缓冲区,用于存放树形视图项的文本信息。 cchTextMax: 指定 pszText 缓冲区的最大字符数。 hItem: 要获取信息的树形视图项的句柄。 lParam: 树形视图项的自定义数据。通过处理 TVN_GETINFOTIPA 消息并检查 NMTVGETINFOTIPA 结构体的成员,应用程序...
Win32 API:NMTVDISPINFOW 结构(Commctrl.h)
NMTVDISPINFOW 结构体是用于树形视图控件(TreeView Control)的通知消息 TVN_GETDISPINFOW 和 TVN_SETDISPINFOW 中的一种结构体。这个结构体用于传递有关树形视图项显示信息的请求和响应。以下是 NMTVDISPINFOW 结构体的定义:typedef struct tagNMTVDISPINFOW { NMHDR hdr; TVITEMW item;} NMTVDISPINFOW, *LPNMTVDISPINFOW;结构体的成员含义如下: hdr: 通用的通知消息头部,包括了通知的类型(code)和控件的句柄等信息。 item: 一个 TVITEMW 结构,包含有关树形视图项的信息,如图像、文本、状态等。因为结构中使用了 TVITEMW,表示宽字符集(Unicode)版本。通过处理 TVN_GETDISPINFOW 消息并检查 NMTVDISPINFOW 结构体的成员,应用程序可以提供自定义的树形视图项显示信息,以替换默认的信息。而在处理 TVN_SETDISPINFOW 消息时,这个结构体用于接收应用程序提供的自...
Win32 API:NMTVDISPINFOA 结构(Commctrl.h)
NMTVDISPINFOA 结构体是用于树形视图控件(TreeView Control)的通知消息 TVN_GETDISPINFOA 和 TVN_SETDISPINFOA 中的一种结构体。这个结构体用于传递有关树形视图项显示信息的请求和响应。以下是 NMTVDISPINFOA 结构体的定义:typedef struct tagNMTVDISPINFOA { NMHDR hdr; TVITEMA item;} NMTVDISPINFOA, *LPNMTVDISPINFOA;结构体的成员含义如下: hdr: 通用的通知消息头部,包括了通知的类型(code)和控件的句柄等信息。 item: 一个 TVITEMA 结构,包含有关树形视图项的信息,如图像、文本、状态等。通过处理 TVN_GETDISPINFOA 消息并检查 NMTVDISPINFOA 结构体的成员,应用程序可以提供自定义的树形视图项显示信息,以替换默认的信息。而在处理 TVN_SETDISPINFOA 消息时,这个结构体用于接收应用程序提供的自定义的树形视图项信息,以更新树形视图控件的显示。如果你的应用程序是使用...
Win32 API:NMTVCUSTOMDRAW 结构(Commctrl.h)
NMTVCUSTOMDRAW 结构体是用于树形视图控件(TreeView Control)的自定义绘制通知消息 TVN_CUSTOMDRAW 中的一种结构体。这个结构体用于传递有关树形视图控件自定义绘制的信息。以下是 NMTVCUSTOMDRAW 结构体的定义:typedef struct tagNMTVCUSTOMDRAW { NMCUSTOMDRAW nmcd; COLORREF clrText; COLORREF clrTextBk; int iLevel;} NMTVCUSTOMDRAW, *LPNMTVCUSTOMDRAW;结构体的成员含义如下: nmcd: NMCUSTOMDRAW 结构体,包含通用的自定义绘制信息,例如绘制的设备上下文、绘制区域等。 clrText: 定义文本颜色。 clrTextBk: 定义文本背景颜色。 iLevel: 表示树形视图项的层级(深度)。通过处理 TVN_CUSTOMDRAW 消息并检查 NMTVCUSTOMDRAW 结构体的成员,应用程序可以实现对树形视图控件的自定义绘制。这样的机制可以用于实现特...
Win32 API:NMTVASYNCDRAW 结构(Commctrl.h)
在 Win32 API 中,NMTVASYNCDRAW 结构体是用于树形视图控件(TreeView Control)的异步绘制通知消息 TVN_ASYNCDRAW 中的一种结构体。这个结构体用于传递有关异步绘制的相关信息。以下是 NMTVASYNCDRAW 结构体的定义:typedef struct tagNMTVASYNCDRAW { NMHDR hdr; NMTVDISPINFOA *pitem; HDC hdc; RECT prc; LPARAM lParam; DWORD dwRetFlags; int iRetImageIndex;} NMTVASYNCDRAW, *LPNMTVASYNCDRAW;结构体的成员含义如下: hdr: 通用的通知消息头部,包括了通知的类型(code)和控件的句柄等信息。 pitem: 指向一个 NMTVDISPINFOA 结构的指针,其中包含有关绘制的树项的信息。 hdc: 目标设备上下文(Device Context),表示绘制操作的目标。 prc: 表示绘制操作的区域,以矩...
Win32 API:NMTTDISPINFOW 结构(Commctrl.h)
NMTTDISPINFOW 结构体是用于工具提示控件(Tooltip Control)的通知消息 TTN_GETDISPINFOW 中的一种结构体。这个结构体用于传递有关工具提示控件显示信息的请求和响应。以下是 NMTTDISPINFOW 结构体的定义:typedef struct tagNMTTDISPINFOW { NMHDR hdr; LPWSTR lpszText; WCHAR szText[80]; HINSTANCE hinst; UINT uFlags; LPARAM lParam;} NMTTDISPINFOW, *LPNMTTDISPINFOW;结构体的成员含义如下: hdr: 通用的通知消息头部,包括了通知的类型(code)和控件的句柄等信息。 lpszText: 指向一个缓冲区,用于存放工具提示的文本。 szText: 一个包含 80 个字符的缓冲区,用于存放工具提示的文本。在发送 TTN_GETDISPINFOW 消息时,应用程序可以将文本存储在 lpszText 或 szText 中的一个。 hinst: 包含包含资源的实例句柄,该资源...