Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];

Вниз

Кто скажет как вывести подсказку (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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
14-21195
eaprit_bel
2002-09-11 02:32
2002.10.07
тетрис


8-21158
Riz
2002-06-04 07:47
2002.10.07
Создание графики в консольном приложении


1-21044
Dim!S
2002-09-27 12:58
2002.10.07
Текстовые файлы


1-21049
Sectey
2002-09-27 14:50
2002.10.07
Перемещение компонента во время выполнения.


1-21101
Slava_BAZ
2002-09-25 13:03
2002.10.07
Мигающая надпись





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский