TabBar,其样式可以基于JvTabBar动态更改

时间:2014-02-23 18:24:10

标签: delphi canvas png jvcl

我尝试了很多不同的库,但都没有。 如果没有在Painter中引入自己的风格,就无法指定它们。 我需要能够快速动态地更改样式选项卡。

作为回应,我展示了我的发展。

如果有人有类似的发展 - 请回复他们。

1 个答案:

答案 0 :(得分:1)

我决定升级其中最简单的一个:JVCL的TJvTabBar(最新版本:13415)

结果如下。

之前(默认)

default style

<强>后

mod

description

样式来源(从具有透明度的png文件导入的所有图片)

sources

轻松将任何个人风格应用于任何JvTabBar

var tmp:TStrings;
begin    
  tmp:=TStringList.Create;
  tmp.Values['TOP_background']:=                ExtractFileDir(Application.ExeName)+'\skins\default\tabs-TOP_background.png';
  tmp.Values['TOP_active_left_side']:=          ExtractFileDir(Application.ExeName)+'\skins\default\tabs-TOP_active_left_side.png';
  tmp.Values['TOP_active_right_side']:=         ExtractFileDir(Application.ExeName)+'\skins\default\tabs-TOP_active_right_side.png';
  tmp.Values['TOP_active_center']:=             ExtractFileDir(Application.ExeName)+'\skins\default\tabs-TOP_active_center.png';

  tmp.Values['BOTTOM_background']:=             ExtractFileDir(Application.ExeName)+'\skins\default\tabs-BOTTOM_background.png';
  tmp.Values['BOTTOM_active_left_side']:=       ExtractFileDir(Application.ExeName)+'\skins\default\tabs-BOTTOM_active_left_side.png';
  tmp.Values['BOTTOM_active_right_side']:=      ExtractFileDir(Application.ExeName)+'\skins\default\tabs-BOTTOM_active_right_side.png';
  tmp.Values['BOTTOM_active_center']:=          ExtractFileDir(Application.ExeName)+'\skins\default\tabs-BOTTOM_active_center.png';

  tmp.Values['CLOSEBUTTON_normal']:=            ExtractFileDir(Application.ExeName)+'\skins\default\tabs-CLOSEBUTTON_normal.png';
  tmp.Values['CLOSEBUTTON_selected']:=          ExtractFileDir(Application.ExeName)+'\skins\default\tabs-CLOSEBUTTON_selected.png';
  tmp.Values['CLOSEBUTTON_disabled']:=          ExtractFileDir(Application.ExeName)+'\skins\default\tabs-CLOSEBUTTON_disabled.png';
  tmp.Values['CLOSEBUTTON_closing']:=           ExtractFileDir(Application.ExeName)+'\skins\default\tabs-CLOSEBUTTON_closing.png';
  tmp.Values['CLOSEBUTTON_modified']:=          ExtractFileDir(Application.ExeName)+'\skins\default\tabs-CLOSEBUTTON_modified.png';
  tmp.Values['CLOSEBUTTON_closing_modified']:=  ExtractFileDir(Application.ExeName)+'\skins\default\tabs-CLOSEBUTTON_closing_modified.png';

  JvTabBar1.StyleImages:=tmp;

  tmp.Values['BOTTOM_background']:=             ExtractFileDir(Application.ExeName)+'\skins\default\MYMOD_tabs-BOTTOM_background.png';

  JvTabBar2.StyleImages:=tmp;

主要更改

  • 添加了指定自己风格的功能(JvTabBar1.StyleImages)
  • 添加了向右移动关闭按钮的功能(JvTabBar1.CloseButtonRight:= true或false)
  • 许多修复了text / icons / buttons / scroll
  • 的大小和位置

我的JvTabBar.pas mod你可以在这里下载http://pastebin.com/JmbufHy0

示例源样式+ JvTabBar.pas http://www.sendspace.com/file/shhuzr

相关问题