Создается подсказка и привязывается к кнопке, но после первого клика по кнопке, подсказка больше не всплывает.
Такое поведение хинтов замечено только если к проекту подключен манифест (windowsXP.res), собственно нужно чтоб
подсказка появлялась каждый раз, проще говоря работала как положено ... привожу код:
procedure ToolTip_Create(hWnd: HWND; const lpText: PChar);
var
TI: TToolInfo;
hTip: Windows.HWND;
begin
hTip := CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, nil,
WS_POPUP or TTS_NOPREFIX or TTS_ALWAYSTIP,
LongInt(CW_USEDEFAULT),
LongInt(CW_USEDEFAULT),
LongInt(CW_USEDEFAULT),
LongInt(CW_USEDEFAULT),
hWnd, 0, hInstance, nil);
FillChar(TI, SizeOf(TToolInfo), 0);
TI.cbSize := SizeOf(TToolInfo);
TI.uFlags := TTF_IDISHWND or TTF_SUBCLASS or TTS_NOPREFIX or TTS_ALWAYSTIP;
TI.hwnd := hWnd;
TI.uId := hWnd;
TI.hInst := hInstance;
TI.lpszText := lpText;
SendMessage(hTip, TTM_ADDTOOL, 0, LPARAM(@TI));
end;
procedure TForm1.FormCreate(Sender: TObject);
var
H: HWND;
begin
H := CreateWindow('Button', 'Кнопка', WS_CHILD or WS_VISIBLE or BS_PUSHBUTTON, 300, 300, 100, 50, Handle, 0, 0, nil);
ToolTip_Create(H, 'Опа');
end;