【发布时间】:2011-11-30 09:35:02
【问题描述】:
给定句柄如何获得控件的 id?
我想在 ListView 控件的标题上设置一个工具提示。据我所知,我需要一个要添加此工具提示的控件的 ID。如MSDN 中所述。
【问题讨论】:
标签: winapi visual-c++
给定句柄如何获得控件的 id?
我想在 ListView 控件的标题上设置一个工具提示。据我所知,我需要一个要添加此工具提示的控件的 ID。如MSDN 中所述。
【问题讨论】:
标签: winapi visual-c++
要回答您的直接问题,GetDlgCtrlID()。
请注意,您链接到的示例会立即将 toolID 再次转换回句柄,从而使您的调用变得多余。
【讨论】:
这是我为此编写的一个简单方法:
// get identifier to a window
void showWindowID(HWND windowTarget) {
int theID = GetDlgCtrlID(windowTarget);
wchar_t text_buffer[100] = { 0 };
// convert
swprintf(text_buffer, _countof(text_buffer), L"%d", theID);
// print to console
//OutputDebugString(text_buffer);
// output result to a messagebox
MessageBox(nullptr, text_buffer, L"The ID", MB_OK);
}
【讨论】:
使用ListView_GetHeader() 来获取ListView 的Header 控件的HWND(它将替代您链接到的示例中的GetDlgItem() 调用)。不需要获取 Header 的 Control ID。
【讨论】: