1

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

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

如果有人有类似的发展 - 写下他们的回应。

4

1 回答 1

2

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

这是结果。

之前(默认)

默认样式

模组

描述

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

来源

轻松将任何个人风格应用于任何 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 )
  • 对文本/图标/按钮/滚动的大小和位置进行了许多修复

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

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

于 2014-02-23T18:24:09.547 回答