Создание подсказки для прямоугольной области
В следующем примере показано, как создать стандартный элемент управления подсказкой для всей клиентской области окна.
На следующем рисунке показана подсказка, отображаемая, когда указатель мыши находится в окне клиента диалогового окна. Дескриптор диалогового окна был передан функции, показанной в предыдущем примере.
Это важно знать
Технологии
Необходимые компоненты
- C/C++
- Программирование пользовательского интерфейса Windows
Instructions
Создание подсказки для прямоугольной области
В следующем примере показано, как создать стандартный элемент управления подсказкой для всей клиентской области окна.
void CreateToolTipForRect(HWND hwndParent)
{
// Create a tooltip.
HWND hwndTT = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, NULL,
WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
hwndParent, NULL, g_hInst,NULL);
SetWindowPos(hwndTT, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
// Set up "tool" information. In this case, the "tool" is the entire parent window.
TOOLINFO ti = { 0 };
ti.cbSize = sizeof(TOOLINFO);
ti.uFlags = TTF_SUBCLASS;
ti.hwnd = hwndParent;
ti.hinst = g_hInst;
ti.lpszText = TEXT("This is your tooltip string.");
GetClientRect (hwndParent, &ti.rect);
// Associate the tooltip with the "tool" window.
SendMessage(hwndTT, TTM_ADDTOOL, 0, (LPARAM) (LPTOOLINFO) &ti);
}
См. также