Вывод ToolTip(всплывающей подсказки) в любом месте
экрана.
Автор: Zarembo Maxim
Компилятор: Visual C++
ToolTip(всплывающая подсказка) - это всплывающее
окошко типа pop-up, которое отображает текст. Служит
для выведения информации при наведении курсора
мышки на какой-нибудь элемент управления, на
статический текст, к которому был привязан
идентификатор из ресурсов, или просто на любую
часть окна приложения. В данной статье
рассматривается вывод всплывающей подсказки в
любом месте экрана.
Первоначально необходимо создать окно класса
TOOLTIPS_CLASS, потом заполнить структуру TOOLINFO:
typedef struct tagTOOLINFO{
UINT cbSize;
UINT uFlags;
HWND hwnd;
UINT_PTR uId;
RECT rect;
HINSTANCE hinst;
LPTSTR lpszText;
#if (_WIN32_IE >= 0x0300)
LPARAM lParam;
#endif
} TOOLINFO, NEAR *PTOOLINFO, FAR *LPTOOLINFO;
Определяем два параметра в этой структуре,
которые имеют для нас значение uFlags и lpszText. uFlags
выбираем равным TTF_TRACK, что означает возможность
использования посылки сообщений выбирающих
позицию для ToolTip-a и видимость. lpszText - задание
текста, который мы хотим выводить.
Теперь мы посылаем сообщение в систему, о
желании создать всплывающую подсказку, куда
передаём ссылку на нашу структуру SendMessage(hwndTT,
TTM_ADDTOOL, 0, (LPARAM) (LPTOOLINFO) &ti).
Затем посылаем сообщение TTM_TRACKPOSITION, которая
задаёт координаты всплывающей подсказки
SendMessage(hwndTT, TTM_TRACKPOSITION, 0, (LPARAM)(DWORD) MAKELONG(m_x, m_y)), где m_x
и m_y координаты x и y на экране.
И в последнюю очередь посылаем сообщение о
активизации всплывающей подсказки SendMessage(hwndTT,
TTM_TRACKACTIVATE, true, (LPARAM)(LPTOOLINFO) &ti), где true параметр
указывающий на отображение подсказки, при выборе
false, подсказка будет скрыта.
Оригинал статьи на http://maxim.z.tripod.com/visual_c/visual_c1.html
Скачать демонстрашку - 5 Кб
Скачать исходник - 18 Кб
|