Форум: "Основная";
Текущий архив: 2008.11.23;
Скачать: [xml.tar.bz2];
ВнизTHintWindow: подсказка, движущаяся за курсором. Найти похожие ветки
← →
Дмитрий (2008-02-06 07:02) [0]Добрый день. Необходимо сделать подсказку, которая бы двигалась за курсором над полем графиков и выводила данные в текущей точке.
В правильном ли я направлении мыслю ? Сделать это при помощи THintWindow. Но вопрос, как его прицепить к TChart покрасивее? Заранее благодарю за любую помощь.
← →
ANB (2008-02-06 10:05) [1]OnMouseMove вроде как поможет :)
← →
New (2008-02-06 10:44) [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;
← →
New (2008-02-06 20:45) [3]var
TTI: TToolInfo;
TTHWND: THandle;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2008.11.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c