div.main {margin-left: 20pt; margin-right: 20pt}
Вывод 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 Кб
|