Форум: "Основная";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
ВнизНемогу добится нужного мне поведения от Balloon Tip а Найти похожие ветки
← →
Kolan © (2005-10-02 16:35) [0]Здравствуйте,
Ballon Tip должен оповестить о чем - то(работает вместо ShowMessage) для этого он должен появится где-то у StatusBar, повисеть и исчезнуть.
Есть пример из FAQ, но я немогу понять как добится однократьного появления.
После вызова процедуры показа, Ballon Tip показывается всякий раз когда мыш навожу на тот контрол где я его показал.
Вот пример, который я использую:
procedure ShowBaloonTip(Control: TWinControl; Icon: Integer; Title: PChar;
Text: PWideChar; BackCl, TextCl: TColor);
var
hWndTip: THandle;
Ti: TOOLINFO;
HWND: THandle;
begin
HWND := Control.Handle;
hWndTip := CreateWindow(TOOLTIPS_CLASS, nil, WS_POPUP or
TTS_NOPREFIX
or TTS_BALLOON or TTS_ALWAYSTIP, 0, 0, 0, 0, HWND, 0, HInstance, nil);
if hWndTip <> 0 then
begin
SetWindowPos(hWndTip, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE
or SWP_NOSIZE);
Ti.cbSize := SizeOf(Ti);
Ti.uFlags := {TTF_CENTERTIP or }TTF_TRANSPARENT or TTF_SUBCLASS;
Ti.HWND := HWND;
Ti.lpszText := Text;
Windows.GetClientRect(HWND, Ti.Rect);
SendMessage(hWndTip, TTM_SETTIPBKCOLOR, BackCl, 0);
SendMessage(hWndTip, TTM_SETTIPTEXTCOLOR, TextCl, 0);
SendMessage(hWndTip, TTM_ADDTOOL, 1, Integer(@Ti));
SendMessage(hWndTip, TTM_SETTITLE, Icon mod 4, Integer(Title));
end;
end;
Как добится желаемого?
← →
begin...end © (2005-10-02 19:32) [1]Послать TTM_ADDTOOL, указав в TOOLINFO флаг TTF_TRACK. Показывать в нужном месте самостоятельно, используя TTM_TRACKPOSITION и TTM_ACTIVATE.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c