代码文件:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; procedure FormCreate(Sender: TObject); private procedure DoShowHint(var HintStr: String; var CanShow: Boolean; var HintInfo: THintInfo); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Application.OnShowHint := DoShowHint; Label1.Hint := Label1.Caption; Label2.Hint := Label2.Caption; Label3.Hint := Label3.Caption; Label1.ShowHint := True; Label2.ShowHint := True; Label3.ShowHint := True; end; procedure TForm1.DoShowHint(var HintStr: String; var CanShow: Boolean; var HintInfo: THintInfo); begin with HintInfo do begin if HintControl = Label1 then begin HintColor := clAqua; Dec(HintPos.X, 15); Dec(HintPos.Y, 60); end; if HintControl = Label3 then begin HintColor := clWebPeachPuff; Dec(HintPos.X, 15); Inc(HintPos.Y, 15); end; end; end; end.窗体文件:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 128 ClientWidth = 233 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Position = poDesktopCenter OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 24 Top = 48 Width = 65 Height = 17 Caption = 'Label1' end object Label2: TLabel Left = 95 Top = 48 Width = 65 Height = 17 Caption = 'Label2' end object Label3: TLabel Left = 166 Top = 48 Width = 65 Height = 17 Caption = 'Label3' end end