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

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

как показать baloon-tip ?!


чувак ©   (2007-08-30 03:34:00) 

Как показать baloon-tip (эта такая подсказка в жолтом окошке как из комикса :) ) из иконки в системном трее ? подскажите плз. кто чем может. Желательно без готовых компонентов, а только голым кодом.!
Заранее всех благодарю!


чувак   (2007-08-31 01:18:00) [1]

> [1] WASM ©   (30.08.07 06:05)


СПАСИБО ОГРОМНОЕ !


WASM   (2007-08-30 06:08:00) [2]

Const
 TTS_BALLOON = $40;//$30
 TOOLTIPS_CLASS = 'tooltips_class32';
 TTS_ALWAYSTIP = $01;
 TTS_NOPREFIX = $02;
 TTF_SUBCLASS = $0010;
 TTF_TRANSPARENT = $0100;
 TTF_CENTERTIP = $0002;
 TTM_SETTITLE = (WM_USER + 32);


WASM   (2007-08-30 06:05:00) [3]

var
 TTI: TToolInfo;
 TTHWND: THandle;

procedure TForm1.ShowTooltip(IconType: Cardinal; Title: String; Text: String; XPos: integer; YPos: integer);
begin
 if TTHWND <> 0 then
   DestroyWindow(TTHWND);
 TTHWND:= CreateWindow(TOOLTIPS_CLASS, '',
   WS_POPUP or TTS_NOPREFIX or TTS_BALLOON or TTS_ALWAYSTIP,
   Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT),
   Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT), 0, 0, HInstance, nil);
 TTI.cbSize:= SizeOf(TTI);
 TTI.uFlags:= TTF_SUBCLASS or TTF_TRACK or 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, TTM_ADDTOOL, 0, Integer(@TTI));
 SendMessage(TTHWND, WM_SETFONT, Font.Handle, 0);
 SendMessage(TTHWND, TTM_SETTITLE, IconType, Integer(PChar(Title)));
 SendMessage(TTHWND, TTM_SETTIPBKCOLOR, $E1FFFF, 0);
 SendMessage(TTHWND, TTM_SETTIPTEXTCOLOR, $000000, 0);
 SendMessage(TTHWND, TTM_SETMAXTIPWIDTH, 0, Screen.Width);
 SendMessage(TTHWND, TTM_TRACKPOSITION, 0, MAKELPARAM(XPos, YPos));
 SendMessage(TTHWND, TTM_TRACKACTIVATE, Integer(LongBool(True)), Integer(@TTI));
end;

procedure TForm1.HideTooltip;
begin
 SendMessage(TTHWND, TTM_TRACKACTIVATE, Integer(0), Integer(@TTI));
 if TTHWND <> 0 then
   DestroyWindow(TTHWND);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 ShowTooltip(1, 'Title', 'Text' + #13#10 + 'Text', SpinEdit1.Value, SpinEdit2.Value);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 HideTooltip;
end;


Наверх

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