Чтобы увидеть это в действии, всё, что надо сделать, это поместить этот юнит в список USES Вашего приложения
unit HintX;
interfaceuses
Windows, Messages, Controls;
type
TIconHintX = class(THintWindow)
protectedprocedure Paint; override;
publicfunction CalcHintRect(MaxWidth: Integer; const AHint: string;
AData: Pointer): TRect; override;
end;
implementationuses Forms;
{ TIconHintX }{-Вычисляем новый размер окошка подсказки
для помещения в него иконки:-}function TIconHintX.CalcHintRect(MaxWidth: Integer;
const AHint: string; AData: Pointer): TRect;
begin
Result := inherited CalcHintRect(MaxWidth, AHint, AData);
Result.Right := (Length(AHint) * 5) + Application.Icon.Width;
Result.Bottom := (Application.Icon.Height) * 2;
end;
procedure TIconHintX.Paint;
const
MARGIN = 5;
begininherited;
Canvas.Draw(MARGIN, MARGIN * 5, Application.Icon);
//рисуем рамку окошка подсказки
SendMessage(Handle, WM_NCPAINT, 0, 0);
end;
initialization//связываем наш новый класс с классом окошка//подсказки установленным поумолчанию:
HintWindowClass := TIconHintX;
end.
Статья Как поместить иконку в окошко подсказки раздела Синтаксис Hint подсказки может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.