Как поместить иконку в окошко подсказки Следующий код помещает...

Как поместить иконку в окошко подсказки

Следующий код помещает главную иконку приложения в окошки подсказок:

{--начало кода--}

unit HintX;

interface

uses
Windows, Messages, Controls;

type
TIconHintX = class(THintWindow)
protected
procedure Paint; override;
public
function CalcHintRect(MaxWidth: Integer; const AHint: string; AData: Pointer): TRect; override;
end;

implementation

uses 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;
begin
inherited;
Canvas.Draw(MARGIN, MARGIN * 5, Application.Icon);
SendMessage(Handle, WM_NCPAINT, 0, 0); //рисуем рамку окошка подсказки
end;

initialization
//связываем наш новый класс с классом окошка подсказки установленным поумолчанию:
HintWindowClass := TIconHintX;

end.
{--конец кода--}

Чтобы увидеть это в действии, всё, что надо сделать, это поместить этот юнит список USES Вашего приложения

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: