【问题标题】:TabBar whose style can be changed dynamically based on JvTabBar基于 JvTabBar 可以动态改变样式的 TabBar
【发布时间】:2014-03-25 05:08:47
【问题描述】:

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

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

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

【问题讨论】:

    标签: delphi canvas png jvcl


    【解决方案1】:

    我决定升级其中最简单的一个: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-07-22
      • 2020-10-07
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多