Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.07;
Скачать: CL | DM;

Вниз

Кто скажет как вывести подсказку (hint) в любом месте экрана.   Найти похожие ветки 

 
SergeySA ©   (2002-08-20 12:50) [0]

Кто скажет как вывести подсказку (hint) в любом месте экрана.
Называется эта фигня кажется tooltip control.
Знаю, что можно на VC++ . Нашёл пример. Но на Дельфе никак
не выходит. Кто знает как сделать?


пример который есть:
Первоначально необходимо создать окно класса TOOLTIPS_CLASS, потом заполнить структуру TOOLINFO
Определяем два параметра в этой структуре, которые имеют для нас значение 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, подсказка будет скрыта.


 
Набережных С.   (2002-08-20 20:46) [1]

Перевод с русского на паскаль :)

var
TF: TToolInfo;
W: THandle;
S: string;
begin
S:="My help string";
W:=CreateWindow(TOOLTIPS_CLASS,"MyToolHelp",0,0,0,0,0,0,0,hInstance,nil);
ZeroMemory(@TF,SizeOf(TF));
TF.cbSize:=SizeOf(TF);
TF.uFlags:=TTF_TRACK;
TF.hwnd:=W;
TF.lpszText:=PChar(S);
SendMessage(W, TTM_ADDTOOL, 0, LPARAM(@TF));
SendMessage(W, TTM_TRACKPOSITION, 0, MAKELONG(40, 100));
SendMessage(W, TTM_TRACKACTIVATE, integer(true), LPARAM(@TF));
Sleep(1000);
SendMessage(W, TTM_TRACKACTIVATE, integer(false), LPARAM(@TF));
DestroyWindow(W);
end;



Страницы: 1 вся ветка

Текущий архив: 2002.10.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
1-20999
evgeg
2002-09-25 18:58
2002.10.07
Не сохраняется сво-во типа наследника от TCollection.


1-21102
dimonf
2002-09-25 09:20
2002.10.07
Интерфейс в dll.


14-21194
Same_Genetik
2002-09-10 21:49
2002.10.07
Что случилось с форумом WinFAQ.ru ?


4-21305
Daiz13
2002-08-20 10:09
2002.10.07
Сообщение другому приложению


1-20993
Демонов Е.В.
2002-09-26 17:40
2002.10.07
КАК иЗ Цветного bitmap-a сделать дизейболный Bitmap?