Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 273

•  TDictionary Custom Sort  6 319

•  Fast Watermark Sources  6 112

•  3D Designer  9 032

•  Sik Screen Capture  6 436

•  Patch Maker  6 853

•  Айболит (remote control)  6 834

•  ListBox Drag & Drop  5 710

•  Доска для игры Реверси  96 533

•  Графические эффекты  7 049

•  Рисование по маске  6 346

•  Перетаскивание изображений  5 222

•  Canvas Drawing  5 591

•  Рисование Луны  5 296

•  Поворот изображения  4 848

•  Рисование стержней  3 434

•  Paint on Shape  2 693

•  Генератор кроссвордов  3 574

•  Головоломка Paletto  2 866

•  Теорема Монжа об окружностях  3 675

•  Пазл Numbrix  2 407

•  Заборы и коммивояжеры  3 089

•  Игра HIP  2 047

•  Игра Go (Го)  1 974

•  Симулятор лифта  2 335

•  Программа укладки плитки  2 036

•  Генератор лабиринта  2 491

•  Проверка числового ввода  2 179

•  HEX View  2 507

•  Физический маятник  2 124

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Прямой вызов метода Hint




function RevealHint(Control: TControl): THintWindow;
{----------------------------------------------------------------}
{ Демонстрирует всплывающую подсказку для определенного элемента }
{ управления (Control), возвращает ссылку на hint-объект,        }
{ поэтому в дальнейшем подсказка может быть спрятана вызовом     }
{ RemoveHint (смотри ниже).                                      }
{----------------------------------------------------------------}

var
  ShortHint: string;
  AShortHint: array[0..255] of Char;
  HintPos: TPoint;
  HintBox: TRect;
begin
  { Создаем окно: }
  Result := THintWindow.Create(Control);

  { Получаем первую часть подсказки до '|': }
  ShortHint := GetShortHint(Control.Hint);

  { Вычисляем месторасположение и размер окна подсказки }
  HintPos := Control.ClientOrigin;
  Inc(HintPos.Y, Control.Height + 6);
  < < < < Смотри примечание ниже
    HintBox := Bounds(0, 0, Screen.Width, 0);
  DrawText(Result.Canvas.Handle,
    StrPCopy(AShortHint, ShortHint), -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, ShortHint);
end; {RevealHint}

procedure RemoveHint(var Hint: THintWindow);
{----------------------------------------------------------------}
{ Освобождаем дескриптор окна всплывающей подсказки, выведенной  }
{ предыдущим RevealHint.                                         }
{----------------------------------------------------------------}

begin
  Hint.ReleaseHandle;
  Hint.Free;
  Hint := nil;
end; {RemoveHint}

Строка с комментарием <<<< позиционирует подсказку ниже элемента управления. Это может быть изменено, если по какой-то причине вам необходима другая позиция окна с подсказкой.





Похожие по теме исходники

Cell Hint in DBGrid

FW Hint TrayIcon

Cell hint in StringGrid

TVistaHintStyle

 

ListBox Hints




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте