Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2010, 00:19   #1
пауэрлифтинг
Заблокирован
 
Регистрация: 11.12.2009
Сообщений: 133
По умолчанию подсказка hint

как отобразить подсказку у курсора в нужное время
пауэрлифтинг вне форума Ответить с цитированием
Старый 17.02.2010, 07:38   #2
mkile
 
Регистрация: 16.02.2010
Сообщений: 5
По умолчанию

может это поможет:
Код:
function RevealHint(hinttext:string): THintWindow;   //показать всплывающую подсказку, содрано с сайта http://www.kansoftware.ru/?tid=459
var
  AShortHint: array[0..255] of Char;
  HintPos: TPoint;
  HintBox: TRect;
begin
  Result := THintWindow.Create(form1);
  { Вычисляем месторасположение и размер окна подсказки }
  HintPos := form1.ClientOrigin;
  Inc(HintPos.Y, + 10);
  HintBox := Bounds(0, 0, Screen.Width, 0);
  DrawText(Result.Canvas.Handle,
    StrPCopy(AShortHint, hinttext), -1, HintBox,
    DT_CALCRECT or DT_LEFT or DT_WORDBREAK or DT_NOPREFIX);
  OffsetRect(HintBox, HintPos.X, HintPos.Y);
  Inc(HintBox.Right, 6);
  Inc(HintBox.Bottom, 2);
  { Теперь показываем окно: }
  Result.ActivateHint(HintBox, hinttext);
  result.Refresh;
end; {RevealHint}

procedure RemoveHint(var Hint: THintWindow);  //освободить всплывающую подсказку, содрано с сайта http://www.kansoftware.ru/?tid=459
{----------------------------------------------------------------}
{ Освобождаем дескриптор окна всплывающей подсказки, выведенной  }
{ предыдущим RevealHint.                                         }
{----------------------------------------------------------------}
begin
  Hint.ReleaseHandle;
  Hint.Free;
  Hint := nil;
end; {RemoveHint}
Для показа/скрытия хинта используй revealhint/removehint соответственно, можешь откорректировать координаты выводимого хинта.
В процедуре вызова определи переменную hint:thintwindow;
вызов так
Код:
hint:=revealhint('кэширование моделей');
скрытие так
Код:
removehint(hint);
mkile вне форума Ответить с цитированием
Старый 17.02.2010, 08:22   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А по-моему проще выполнять всего одну команду - Application.ActivateHint(Mouse.Curs orPos);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.02.2010, 00:25   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
как отобразить подсказку у курсора в нужное время
А какое время считать нужным ?
У хинта есть параметр задержки показа, времени показа...
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
hint и DBGrid victorixx БД в Delphi 4 10.02.2010 03:16
Hint на Edit mutabor Общие вопросы Delphi 17 28.08.2009 20:32
CTreeCtrl и hint iiunbreakableii Общие вопросы C/C++ 0 17.07.2009 14:59
baloon hint Д'якон Win Api 2 08.02.2009 00:22
Hint в ComboBox Starscream Общие вопросы Delphi 3 27.02.2008 01:15