我使用功能从MSDN Create a Tooltip for a Control工具提示按钮
HWND CreateToolTip(int toolID, HINSTANCE hInst, HWND hDlg, PTSTR pszText) {
if (!toolID || !hDlg || !pszText) {
return FALSE;
}
HWND hwndTool = GetDlgItem(hDlg, toolID);
HWND hwndTip = CreateWindowEx(NULL, TOOLTIPS_CLASS, NULL,
WS_POPUP |TTS_ALWAYSTIP | TTS_BALLOON,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
hDlg, NULL,
hInst, NULL);
if (!hwndTool || !hwndTip) {
return (HWND)NULL;
}
TOOLINFO toolInfo;
toolInfo.cbSize = sizeof(toolInfo);
toolInfo.hwnd = hDlg;
toolInfo.uFlags = TTF_IDISHWND | TTF_SUBCLASS;
toolInfo.uId = (UINT_PTR)hwndTool;
toolInfo.lpszText = pszText;
SendMessage(hwndTip, TTM_ADDTOOL, 0, (LPARAM)&toolInfo);
return hwndTip;
}
然后在WndProc
WM_CREATE
创建按钮Button=CreateWindowEx( 0, L"BUTTON", L"My Button", WS_VISIBLE|WS_CHILD, 10, 10, 100, 24, hWnd, (HMENU)ID_TOOLTIP, hInst, NULL);
最后创建工具提示tooltip_mess = CreateToolTip(ID_TOOLTIP, hInst, hWnd, (PTSTR)"Tooltip message");
但它不工作,我看不到我的提示,其中我做错了?
你通过自身激活提示找到一条TTM_ACTIVATE消息? –
SendMessage(tooltip_mess,TTM_ACTIVATE,TRUE,0);但相同的结果 – user2650128
我需要在WM_NOTIFY中写入什么? – user2650128