把Tabcontrol标签上方放置图标 ( 积分: 100 )

  • 主题发起人 主题发起人 userful
  • 开始时间 开始时间
U

userful

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何把Tabcontrol标签上方放置图标,我用imagelist设置了。但是是在文字的前面显示。我想在文字的上方显示。就像桌面上的快捷方式一样的效果该如何做?
 
procedure TForm1.FormCreate(Sender: TObject);
begin
TabControl1.TabHeight:=40;
TabControl1.OwnerDraw:=true;
end;

procedure TForm1.TabControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
bmp:tbitmap;
str:string;
sw,sh:integer;
begin
Control.Canvas.FillRect(rect);
bmp:=tbitmap.Create;
imagelist1.GetBitmap(tabindex,bmp);
Control.Canvas.Draw(rect.Left+(rect.Right-rect.Left-bmp.Width) div 2,rect.Top+2,bmp);
str:=TTabControl(Control).Tabs[tabindex];
sw:=Control.Canvas.TextWidth(str);
sh:=Control.Canvas.TextHeight(str);
Control.Canvas.TextOut(rect.Left+(rect.Right-rect.Left-sw) div 2,bmp.Height+rect.Top+6,str);
bmp.free;
end;
 
接受答案了.
 
后退
顶部