Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

THintWindow: подсказка, движущаяся за курсором.


Дмитрий ©   (2008-02-06 07:02:00) 

Добрый день. Необходимо сделать подсказку, которая бы двигалась за курсором над полем графиков и выводила данные в текущей точке.
В правильном ли я направлении мыслю ? Сделать это при помощи THintWindow. Но вопрос, как его прицепить к TChart покрасивее? Заранее благодарю за любую помощь.


New   (2008-02-06 20:45:00) [1]

var
 TTI: TToolInfo;
 TTHWND: THandle;


New   (2008-02-06 10:44:00) [2]


> Дмитрий   (06.02.08 07:02)
> Сделать это при помощи THintWindow


Можно с помощью TOOLTIPS_CLASS

uses CommCtrl;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Timer1.Interval:= 10;
 if TTHWND <> 0 then
   DestroyWindow(TTHWND);
 TTHWND:= CreateWindow(TOOLTIPS_CLASS, '',
   $30,
   Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT),
   Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT),
   0, 0, HInstance,
   nil);
 TTI.cbSize:= SizeOf(TTI);
 TTI.uFlags:= TTF_TRACK + TTF_TRANSPARENT;
 TTI.Rect.Left:= 0;
 TTI.Rect.Top:= 0;
 TTI.Rect.Bottom:= 0;
 TTI.Rect.Right:= 0;
 SetWindowPos(TTHWND, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE);
 TTI.lpszText:= PChar('Добрый день., В правильном ли я направлении мыслю ?');
 SendMessage(TTHWND, TTM_ADDTOOL, 0, Integer(@TTI));
 SendMessage(TTHWND, TTM_TRACKPOSITION, 0, MAKELPARAM(Mouse.CursorPos.X, Mouse.CursorPos.Y));;
 SendMessage(TTHWND, TTM_TRACKACTIVATE, Integer(LongBool(True)), Integer(@TTI));
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 SendMessage(TTHWND, TTM_TRACKPOSITION, 0, MAKELPARAM(Mouse.CursorPos.X, Mouse.CursorPos.Y));
end;


ANB   (2008-02-06 10:05:00) [3]

OnMouseMove вроде как поможет :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо