在TButton中显示多行Caption
[作者]:菩提树下的杨过 [来源]:互联网 [收录时间]:2007-8-1 20:28:56


procedure TForm1.Button1Click(Sender: TObject);
begin
SetCaption(button1,'第一行','第二行',form1.Color);
end;

procedure TForm1.SetCaption(AButton: TButton; ACaption1,

ACaption2: string;color:TColor);
var
dc:Hdc;
info:tagsize;
begin
AButton.Caption:='';
dc:=GetDC(AButton.Handle);
SetBKColor(dc,Color);
SetBkMode(dc, TRANSPARENT);
GetTextExtentPoint32(dc,pchar(ACaption1),length(ACaption1),info);
Textout(dc,AButton.Width div 2-info.cx div 2,AButton.Height div 2-info.cy,pchar(ACaption1),length(ACaption1));
GetTextExtentPoint32(dc,pchar(ACaption2),length(ACaption2),info);
TextOut(dc,AButton.width div 2-info.cx div 2,AButton.Height div 2,pchar(ACaption2),length(ACaption2));
end;