Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

Вывод 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, подсказка будет скрыта.

Скачать демонстрашку - 5 Кб

Скачать исходник - 18 Кб

 

 



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS