Тема: Hint WinApi
Показать сообщение отдельно
  #1  
Старый 16.08.2015, 14:08
Аватар для Stalker2-42
Stalker2-42 Stalker2-42 вне форума
Новичок
 
Регистрация: 28.09.2013
Сообщения: 94
Версия Delphi: 2010
Репутация: 10
Восклицание Hint WinApi

Здравствуйте.
Проблема:
Имеется "Static" в нижнем правом углу окна(он привязан к нему). Если навести курсор на Static, появляется подсказка. Все нормально.
Но стоит изменить размер окна, следовательно положение Static'a меняется, то подсказка не появляется над Static'om , а остается на старом месте.
Подскажите как исправить, как переместить на новую позицию?

Код:
procedure AddTool(Wnd: HWND; Text: String; Center: Boolean);
var
  ti: TOOLINFO;
begin
  ZeroMemory(@ti, SizeOf(TOOLINFO));
  ti.cbSize:=SizeOf(TOOLINFO);
  if Center then
    ti.uFlags:=TTF_SUBCLASS or TTF_CENTERTIP
  else
    ti.uFlags:= TTF_SUBCLASS;
  ti.hwnd:= Wnd;
  ti.lpszText:=PChar(Text);
  GetClientRect(Wnd, ti.Rect);

  SendMessage(FToolTip, TTM_ADDTOOL, 0, LPARAM(@ti));
end;


В WM_Create
Код:
FToolTip:=CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, nil, //TTS_BALLOON or
    WS_POPUP or TTS_NOPREFIX or TTS_ALWAYSTIP, 0, 0, 0, 0, 0, 0, HInstance, nil);

  AddTool(LBTime, 'бла-бла', False);


Есть кто живой?