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

Вниз

TOOLTIP   Найти похожие ветки 

 
WASM   (2007-07-13 18:42) [0]

Доброго времени суток, подскажите как сделать многострочный Tooltip, конструкция типа #13#10 не помогает

var
 TTI: TToolInfo;
 TTHWND: THandle;

procedure TForm1.ShowTooltip(Text: string; XPos: integer; YPos: integer);
begin
 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(Text);
 SendMessage(TTHWND, WM_SETFONT, Font.Handle, 0);
 SendMessage(TTHWND, TTM_ADDTOOL, 0, Integer(@TTI));
 if YPos + 18 > Screen.Height then
   YPos:= Screen.Height - 18;
 SendMessage(TTHWND, TTM_TRACKPOSITION, 0, MAKELPARAM(XPos, YPos));
 SendMessage(TTHWND, TTM_TRACKACTIVATE, Integer(LongBool(True)), Integer(@TTI));
end;


 
Tack ©   (2007-07-19 00:36) [1]

Системный тултип всегда однострочный.

Или рисуй свой, или загрузи Jedi VCL, там вроде есть уже готовый рисованный тултип (вроде бы даже многострочный).


 
WASM   (2007-07-19 10:10) [2]


> Tack ©   (19.07.07 00:36) [1]

Спасибо я разобрался

SendMessage(TTHWND, TTM_SETMAXTIPWIDTH, 0, Screen.Width);

теперь #13#10 работает



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

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

Наверх




Память: 0.47 MB
Время: 0.022 c
3-1179483915
Parenek
2007-05-18 14:25
2007.09.30
как узнать, добавлена ли запись ?


2-1189103677
...::ExE::..
2007-09-06 22:34
2007.09.30
Реестр


15-1188080478
Альберт_
2007-08-26 02:21
2007.09.30
кто-нибудь продавал плоды своего Творчества?


15-1186913580
исследователь
2007-08-12 14:13
2007.09.30
Вопрос про взаимодействие DLL и формы


11-1172065520
mixail_shar
2007-02-21 16:45
2007.09.30
как провести UPDATE