学習の公式例-TApplication.OnShowHint
2436 ワード
コードファイル:
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