uses
Windows, Forms, Controls, Graphics, StdCtrls, Types;
type
TMultiLineHintWindow = class(THintWindow)
public
procedure Paint; override;
end;
procedure TMultiLineHintWindow.Paint;
var
TextRect: TRect;
begin
// Hint penceresi boyutunu ayarla ve metni otomatik olarak çok satıra böl
TextRect := ClientRect;
Canvas.Font := Screen.HintFont;
DrawText(Canvas.Handle, PChar(Caption), Length(Caption), TextRect, DT_LEFT or DT_WORDBREAK);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
// OnShowHint olayı ile özelleştirilmiş hint sınıfını kullan
Application.OnShowHint := @ShowCustomHint;
end;
procedure TForm1.ShowCustomHint(var HintStr: string; var CanShow: Boolean; var HintInfo: THintInfo);
begin
// Özel hint penceresini devreye sok
HintInfo.HintWindowClass := TMultiLineHintWindow;
// Hint genişliği form boyutunu aşarsa, otomatik olarak çok satıra böl
HintInfo.HintMaxWidth := Form1.Width - 50; // Form genişliğine göre ayarlanıyor
end;
0 yorum:
Yorum Gönder