| 
![]() ![]() |
||
|---|---|---|
Title: Вывод ToolTip(всплывающей подсказки) в любом месте экрана Author: Zarembo Maxim Environment: VC++ 6.0, NT 4.0, Win9x, Win2k Section Miscellaneous Controls SubSection Tooltips ![]() Вывод ToolTip(всплывающей подсказки) в любом месте экрана.(Обновлен 28.06.02). Системные требования:Windows 95,98,ME,NT,2000,XP. Исходник отлаживался на VC 6.0. ToolTip(всплывающая подсказка) - это всплывающее окошко типа pop-up, которое отображает текст. Служит для выведения информации при наведении курсора мышки на какой-нибудь элемент управления, на статический текст, к которому был привязан идентификатор из ресурсов, или просто на любую часть окна приложения. Предназначен для лучшего визуального восприятия пользователем интерфейса программы. В данной статье рассматривается вывод всплывающей подсказки в любом месте экрана. | ||
|
Первоначально необходимо создать окно класса
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;
| ||
|
Определяем два параметра в этой структуре, которые имеют для нас значение | ||
|
Теперь мы посылаем сообщение в систему, о желании создать всплывающую подсказку, куда передаём ссылку на нашу структуру 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, подсказка будет скрыта.
Для того чтобы наша всплывающая подсказка была многострочной используем сообщение SendMessage(hwndTT, TTM_SETMAXTIPWIDTH, 0, m_Width);где m_Width ширина подсказки, которая переводит строчки при наличии пробелов.
Здесь можно увидеть программу, которая была реализована на основе этого исходника. | ||
![]() ![]() |
||
| 