AIMP皮肤编辑器从名字就可以知道这款软件的主要功能就是帮助用户设计应用程序皮肤,也可以设计UI界面,您可以在软件添加新的窗口,可以为窗口添加新的控件,可以设置新的背景对象,从而帮助自己快速开发新的应用程序UI界面,对于需要设计软件的朋友很有帮助,设计完毕可以指定皮肤封面名称、作者和任何其他附加信息、可以设置皮肤预览图、可以设置皮肤是否支持缩放,您也可以将其他软件设计的图样加载到本软件组装为新的皮肤!
新版功能
新提供程序 acPlaylistNextAndPlay
acPlaylistPrevAndPlay
TASEScriptableEventHandler
新元素 Scroll View (TASELayoutScrollView)
Text Field (TASETextDisplayEx)
提供程序 prvVisual
DisplayValue 接入点:添加 Accessibility 服务
MLTable
GroupMode 接入点:支持 "Action: Slider" 和 "Action: Scroll" 服务
背景元素 TASELayoutItem
新属性:KeepAspectRatioOnResize
新属性:LayoutDirection
TASELayoutContainer
新事件:OnResize
TASELayoutTabbedGroup
新动画:PaperSlide
新属性:AnimationOptionsPaperSlide
新属性:AnimationTransitionMode
控件 常规
新事件:OnClick
新事件:OnMouseEnter
新事件:OnMouseLeave
新事件:OnMouseDown
新事件:OnMouseUp
新事件:OnMouseMove
新事件:OnResize
TASEBlurredGlass
新属性:Color
TASEButton
新接入点:ActionOnLongClick
TASECoverArtDisplay
新属性:AutoAdjustContentBounds
TASEGauge
新属性:Color
新属性:ColorProgress
TASEMusicLibraryTable
新属性:StyleContent.GroupDetailsAllowResize
新属性:StyleContent.GroupDetailsMinWidth
TASEPanel
新属性:HitTestByChildren
TASESliderHorizontal / TASESliderVertical
新属性:Color
新属性:ColorProgress
TASESliderMasked
新属性:FlipHorizontally
新属性:FlipVertically
TASETabControl
新属性:TabsOptions.AutoAlignTabs
新属性:TabsOptions.FillTheWidth
新属性:TabsOptions.ShowPartiallyVisibleTabs
与 TASELayoutTabbedGroup 绑定的能力
TASETextDisplay
新属性:Color
支持 Skin.ContentOffsets
窗口 新属性:RegisterInMenu
软件特色
主视窗元素
选择所创建的模式后,您将在打开的编辑器窗口中看到以下几个可选区域:
1. 工具栏按钮(主菜单中的主要功能快捷按钮)
打开项目 (CTRL+O)
保存项目 (CTRL+S)
选项 (CTRL+P)
自定义窗口
自定义本地化 (F7)
自定义提供程序 (F3)
资源库 (F8)
创建皮肤 (F9)
创建并运行 (CTRL+F9)
2. 组件面板
此处的26个按键,除第一个移动按键外,其他25个都是重要组件(详见工具栏控件)。在右侧点击下拉箭头可以看到相应组件名称。
将新的组件项目添加到皮肤中,只需两个点击步骤:
1 – 点击选择所需的元素,
2 – 点击所要插入的位置。
3. 工作区
此处将显示可编辑的皮肤。
你可以通过工作区顶部排列的选项卡来回切换皮肤窗口。
注意:按住 "Alt" 键可激活皮肤测试模式。在此情况下,控件将自动处理鼠标点击。
4. 元素树
在树中每个元素的旁边都有一个复选框,可以允许你隐藏相应的元素一段时间(关闭的元素不会从皮肤中删除,它仍将显示在内置的皮肤中!)。
在元素树的底部有一些选项卡,您可以在这里组合控件和背景元素,以便组装和编辑皮肤。
线状树中的所有元素根据它们的Z-Order值排列(从上到下,Z-Order值从小到大,相对屏幕从里到外)。
5. 所选元素属性
所选元素的所有属性都在此处显示。在属性栏底部可以添加待办清单选项卡。
6. 放大镜
显示在屏幕光标下的放大区域。
在屏幕底部可以选择放大倍数(2x ... 10x),以及启用网格(在大于3x的缩放值下可用)。此外,还可显示光标下的RGB和HEX格式颜色值,以及鼠标指针相对于显示屏左上角的坐标。
7. 状态栏
状态栏左侧显示容器中元素的坐标、尺寸以及Z-Order值,右侧是在编辑器中显示皮肤的一些选项:
“窗口停靠”选项
启动可视化仿真模拟(正在播放状态、暂停状态和停止状态)。
选择工作区背景颜色的按钮。
元素树栏、元素属性栏和放大镜栏可以在整个工作区周围自由移动(通过鼠标点击并按住栏标题拖动),或者在必要时隐藏。可以从“视窗”主菜单中访问隐藏的栏。
使用说明
要添加新的背景元素,需要从父背景对象的右键上下文菜单“新建子项:容器/纹理/选项分组”中进行选择。
添加控件的一般过程:
1. 从组件面板中点击选择一个元素,并将其放在必要的容器中(单击到所需位置);
2. 设置元素的属性:
2.1. 替换为您所需的元素纹理,设置纹理扩展参数(如果元素提供扩展);
2.2. 将元素放置在皮肤的必要位置,设置绑定链接和扩展(如有必要);
2.3. 设置元素链接,分配一个功能。
3. 测试元素。遗憾的是,这个阶段经常被遗忘。在测试阶段,您可以检查功能是否正常工作、纹理帧是否正确变化、元素是否正确扩展、元素是否在皮肤扩展过程中正确运行等。
添加窗口
调用对话框
通过“主菜单”“项目”“窗口”或工具栏快捷菜单按钮进入窗口管理器
主要功能
自定义窗口必须有一个主窗口,这可以划定其可见性的区域。例如,根据程序状态:是否最小化到通知区域。
每个窗口都可以固定到主窗口,这样它将跟随主窗口到任意地方。例如,均衡器窗口常以这种方式运行。此时需要设置其位置和缩进。
此外,窗口还可以被制作成停靠到主窗口,这样它将看起来作为与主窗口的一个整体单元,或是脱离和独立的。播放列表窗口常以此种方式运行。
简单的连接
元素连接到容器的两侧(一个垂直方向,另一个是水平方向)。在皮肤拉伸的情况下将使得元素移动,以便到两侧的距离是恒定的
拉伸连接
示例:有一个音量控件,我们希望控件在皮肤调整大小时通过宽度拉伸。
连接如下所示:
当皮肤调整大小时,控件将保持与皮肤上边缘的连接并因此通过宽度拉伸。
对称连接
示例:在皮肤的顶部有一个文字标志,我们希望它在调整大小时总是位于皮肤的中心。
分配以下连接:
现在文字标志仅连接到容器的上侧。当调整皮肤的大小时,相对于其右侧和左侧的距离将均匀地变化。
定制本地化
创建一个新的项目并将TASEButton元素拖放到窗口。
然后点击“项目”菜单中的快捷菜单项或使用快捷键 F7 执行自定义本地化编辑器。最后让我们给按钮指定一个标题:
保存更改后来到按钮的属性栏:
现在显示“Caption”字段的文本将取决于程序中选定的语言。如果将皮肤编辑器的语言切换到中文,那么按钮显示的文本也将随之切换。
定制提供程序
CustomContextMenu提供程序允许您创建自定义上下文菜单,并通过添加自定义/标准提供程序传递任何命令。
CustomContextMenu与其他自定义提供程序一样,可以通过“自定义提供程序”对话框创建。此类型的提供程序没有接入点,但如果点击“参数”按钮,您将看到如下“编辑项目”对话框:
对于每个菜单项都可以指定:Caption(通过文本或绑定),Glyph(图标尺寸必须为16x16)和Bindings:
在这种情况下,State解释为菜单项的选中状态。
将RadioItem属性设置为True以在同级别中创建一组菜单项,注意,一次只能选中组中的一个菜单项。
要在菜单项之间创建分隔符,需创建该项并在Caption属性中设定“ - ”符号。
CustomContextMenu可以通过属性PopupMenu或Bindings链接到任何元素。
LogicalOperatorCommutator
任务:制作立体声平衡指示器。指示器应在左声道或右声道中实时显示信号电平偏移。
步骤1:创建定制的LogicalOperatorCommutator提供程序,将其命名为BalanceDisplay。
链接如下:
在参数属性中写入以下表达式:Value1-Value2:
我们的提供程序将计算左右声道之间的电平差。可能的值在从-100到+100的数字范围内。
步骤2:绘制指标的纹理。
由于立体声平衡制图需要在实时模式下进行,请选择元素TASEGauge。
纹理如下所示:
这种纹理应当确保指示器中间的零位置,并且向右或向左的偏差将以橙色突出显示。
步骤3:设置指示器的绑定链接。
在属性中写入以下表达式:50+Value/2。这种表达式确保在指示符(数字50)的中间设置参考点,并且还防止落在接入点的允许输入值限制(从0到100的数字范围)之外。
纹理编辑器
所有控件的绘制分为三个步骤:绘制背景层、绘制内容层、绘制覆盖层。注意:一些元素可能不支持其中一个或多个步骤。
纹理尺寸调整
参见纹理拉伸模式文章
触击测试层
参见鼠标触击测试文章
遮罩层
此处允许您指定将用作元素遮罩的帧数。遮罩有两种应用模式 - 应用于所有元素和应用于内容层。在第一种情况下,遮罩将应用于绘图的所有步骤;在第二种情况下,仅应用于绘图的第二步。
覆盖层
此处允许您指定将用作元素封面(最底层)的帧数。
内容偏移
此处允许您指定不应抓取元素内容的区域。
鼠标触击测试
触击测试层决定了元素如何对鼠标作出反应。
有三个选项:
1) 不透明。元素的所有区域将响应鼠标:如果元素自身不与其他元素重叠,如果元素是简单的矩形形式,以及如果分配透明度小于50%的纹理,在这些情况下可以应用此选项。
2) 透明。元素将不会响应鼠标(使元素是完全“透明”的)。
3) 按遮罩。触击测试遮罩指定元素将在哪些区域响应鼠标,哪些区域则不会。
遮罩代表了填充有任何颜色(没有透明度或透明度小于50%)的透明背景上的某些区域。
如果选中“触击测试-按遮罩”复选框,则可以选择将用作遮罩的纹理帧数。为此,帧(或其一些区域)应当具有大于50%的透明度。可以为许多元素创建一个附加帧,将其作为最新的元素(例如,普通按钮的第5帧,开关按钮的第7帧)。
例如,上图红色区域不需响应鼠标,因此按键纹理的第5个遮罩帧应如下所示:
纹理拉伸
填充参数用于设置填充模式和指定将在调整播放器窗口大小时扩展的纹理区域。
有三种拉伸模式:
拉伸(Stretch) - 拉伸选定的纹理位置
平铺(Tile) - 复制选定的纹理位置
居中(Center) - 以边框裁剪纹理的位置为中心
可以使用Tile Params(平铺参数)和Margins(页边距)两种方法之一来指定拉伸边界。
Tile Params允许设置两个填充区域,每个区域具有指定的坐标和宽度。
绑定器编辑
调用对话框:
右击皮肤或元素树中的元素>>设置绑定
通过所选元素的 Bindings 属性
按下所选元素旁边的按钮
定制对话框
左侧是具有接入点列表的元素,右侧是具有服务列表的提供程序。可以使用简单的拖放法来绘制它们之间的链接线。同样可以以相同的方式更改已创建链接的初始和目标接入点。线上的箭头指定链接方向(双向,从提供程序到服务或从服务到提供程序)。
链接还带有提示,并显示链接的当前配置。
默认情况下,接入点之间的链接具有直接的逻辑依赖性:如果服务传输为 True,接入点也将接收 True。如果提供程序服务数据类型与接入点数据类型不同(例如,逻辑数据可以转换为数字或文本,反之亦然),则数据将自动转换。
链接配置可以通过在参数中写入您自己的表达式进行编辑。可以选中链接并按下“链接选项”按钮:
您可以在窗口中看到表达式输入行,有关可用变量和可用运算符的提示,以及测试表达式的工具。
皮肤结构
任何皮肤都是由窗口、背景对象和控件组成。
窗口可以分为两类:基本窗口和用户定制窗口。基本窗口有:AIMPMainForm(主窗口),DropWheel(将文件拖放到播放列表中时出现的窗口),TrayControl(将程序最小化到通知区域时显示的迷你播放器),QFI(Quick File Info快捷文件信息卡)。这些窗口不能被删除,它们应该一直存在于皮肤中。
控件 – 用户与程序进行交互的项目:按钮、滑块、播放列表等等。
背景对象 - 用于构建皮肤自身的骨架:它们定义皮肤尺寸,控件布局,改变窗口大小可能性,确定如何以及哪些元素将如此放置。
每一类元素都有自己的属性集。
提供程序会为每个接入点显示可用服务的提示列表。
服务有:
Action:对当前数据执行操作的服务。
Action: Slider:事实上和Action是一样的。它用于控件(滑块)绑定。
Action: Scroll:事实上和Action是一样的。它用于滚动条绑定。
Accessibility:接入点的可用性(返回True / False)。如果没有安装任何插件,该点可能无法访问。如果未单独设置Accessibility,则从Action中获取。
Data: Boolean:服务返回 True / False.
Data: Integer:服务返回整数数据(没有格式化和规范值)。
Data: Image:服务返回图像。
Data: Region:服务提供了一个以颜色/纹理来填充的点数组。
Data: Text:服务返回文本数据,您可以使用宏%v格式化返回的值。
Data: Text (Formatting supports):同样作为文本,但是该服务支持一组宏用于格式化相关曲目信息。
Hint:提示(通过鼠标按住元素时的弹出式窗口)。
ContextMenu:上下文菜单(通过右击访问)。如果没有单独设置ContextMenu,它取自Action(若存在)。
TabControl:为TabControl元素的提供数据服务,并提供控制它的能力。
接入点
常规
1、Action
最重要的接入点之一,它用于元素和程序部分功能之间的交互。通常应用于设置“Action – Action”的按钮链接,也就是说,它允许您通过按此按钮指定程序该做什么。此外,此接入点返回提示(ToolTip),并且也可以定义元素的上下文菜单(若可用)。
Action
Accessibility
Hint
ContextMenu
2、State
传输提供程序(功能)状态。当功能关闭时返回“0”,功能激活时则返回“1”。(例如,功能“循环曲目”(提供程序acPlayerRepeat)如果循环关闭,State返回“0”;如果循环被激活,则返回“1”,如果要创建切换按钮(复选框)并分配链接“State – State”,此时在第一种情况下的第一组帧(未选按钮)和第二种情况下的第二组帧(已选按钮)将被相应地显示。)
Data: Integer
3、Flashing
旨在使诸如系统时间、计划定时器和曲目计时之类的元素两点(“:”)闪烁,并且还可以在激活某些功能时闪烁按钮(“在当前曲目之后停止播放”、广播录制激活等)。
Data: Boolean
∨ 展开