HDHITTESTINFO 结构是在 Win32 API 的 Commctrl.h 头文件中定义的,用于描述在头部控件(Header Control)上执行的命中测试结果。以下是 HDHITTESTINFO 结构的定义:
typedef struct {
  POINT pt;
  UINT  flags;
  int   iItem;
} HDHITTESTINFO, *LPHDHITTESTINFO;

结构成员包括:

1. pt: POINT 结构,表示在头部控件上执行命中测试的坐标。

2. flags: 一个表示命中测试的标志的无符号整数。可以是以下常量之一或它们的组合:
   - HHT_NOWHERE: 在控件的客户区之外。
   - HHT_ONHEADER: 在头部上的标准区域,不包括分隔线。
   - HHT_ONDIVIDER: 在分隔线上。
   - HHT_ONDIVOPEN: 在一个有下拉箭头的分隔线上。
   - HHT_ONDIVIDEROPEN: 在打开的下拉箭头上的分隔线上。
   - HHT_ABOVE: 在一个项目的上方,但不在标头或分隔线上。
   - HHT_BELOW: 在一个项目的下方,但不在标头或分隔线上。
   - HHT_TORIGHT: 在一个项目的右侧,但不在标头或分隔线上。
   - HHT_TOLEFT: 在一个项目的左侧,但不在标头或分隔线上。

3. iItem: 一个整数,表示命中测试的项目索引。如果命中测试不在标头或分隔线上,此值为 -1。

HDHITTESTINFO 结构通常用于响应头部控件的消息,例如 HDM_HITTEST 消息,以确定鼠标点击或移动的位置。通过分析 flags 和 iItem 成员,可以判断鼠标在头部控件的哪个区域,从而执行相应的操作。

请注意,具体的应用可能会有更多的头部控件相关结构和消息,具体的使用方式需要根据您的应用程序的需求来确定。


转载请注明出处:http://www.pingtaimeng.com/article/detail/24880/Win32 API/Commctrl.h/HDHITTESTINFO