hintx.pas
来自「带图标的提示栏(Hint窗口)的实现方法」· PAS 代码 · 共 49 行
PAS
49 行
{--代码开始--}
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.
{--代码结束--}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?