14.12.2006, 11:26
общий
это ответ
Здравствуйте, Prowler!
Посмотрите код в приложении. Это способ вызова стандартных baloon-ов. Установка позиции - см. TTM_TRACKPOSITION.
В uses нужно подключить CommCtrl.
Приложение:
var hToolTip : THandle; Ti : TTOOLINFO; R : TRect; ltext : PChar; ltitle : PChar;const TTS_BALLOON = $040; TTM_SETTITLE = 1056;begin hToolTip := CreateWindowEx(0, ‘Tooltips_Class32‘, Nil, WS_POPUP+TTS_BALLOON, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, Form1.Handle, 0, Application.Handle, 0); SetWindowPos(hToolTip, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE+SWP_NOSIZE+SWP_NOACTIVATE); ti.cbSize := SizeOf(ti); ti.uFlags := TTF_SUBCLASS+TTF_TRANSPARENT; ti.hInst := Application.Handle; SendMessage(hToolTip, TTM_ACTIVATE, 1, 0); Windows.GetClientRect(Button1.Handle, R); ltext := ‘Типс‘; ltitle := ‘Заголовок‘; ti.hwnd := Button1.Handle; ti.Rect := R; ti.lpszText := ltext; SendMessage(hToolTip, TTM_ADDTOOL, 0, Longint(@ti)); SendMessage(hToolTip, TTM_SETTITLE, 1, Longint(ltitle)); SendMessage(hToolTip, TTM_ACTIVATE, 1, 0);end;