在 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 控件的命中测试,以确定鼠标点击或移动位置所在的 ReBar 控件的哪个区域。例如:
RBHITTESTINFO rbHitTest;
rbHitTest.pt.x = 100; // 你的鼠标点击位置的 x 坐标
rbHitTest.pt.y = 50;  // 你的鼠标点击位置的 y 坐标

// 发送 RB_HITTEST 消息
LRESULT result = SendMessage(hReBar, RB_HITTEST, 0, (LPARAM)&rbHitTest);

// 处理命中测试的结果
if (result != -1) {
    // 命中了 ReBar 控件的某个区域
    // 可以根据 rbHitTest.flags 和 rbHitTest.iBand 进行进一步处理
}


转载请注明出处:http://www.zyzy.cn/article/detail/24968/Win32 API/Commctrl.h/RBHITTESTINFO