自whistl3r的Shellstyle Tutorial

预备知识

1.shellstyle.dll的结构

UIFiles:

UIFile1:定义窗体及任务列表样式

UIFile2:定义控制面板样式

Resources:资源文件列表

10,11,12:音乐文件夹

13,14,15:图片文件夹

16,17,18:查找

19,20,21:视频文件夹

22,26:控制面板

25:系统文件夹

100,101,102,103,104,105,106,107:面板打开/关闭按钮

110,112:面板顶栏

120:背景

Strings:定义常用字符串或数值(字体,字号)

CPWEBVW.CSS:定义用户帐户窗体样式

2.资源的使用

rcstr(Str_ID)

Str_ID:Strings中编号

rcbmp(BMP_ID, STRETCHING, TRANSPARENT_COLOR, WIDTH, HEIGHT, SIZE_FLAG, MIRROR)

BMP_ID:Resources中编号

STRETCHING: 填充方式 1 = 正常, 3, = 重复, 6 = 拉伸, 7 = 32bit位图

TRANSPARENT_COLOR: 填充时忽略的颜色 #RRGGBB

WIDTH, HEIGHT:宽度,高度

SIZE_FLAG: 图像大小 1 = 使用图片默认大小, 0 = 使用指定的大小

MIRROR: 反转 0 = 正常, 1 = 反转

rcint(Str_ID) //将字符串转为数值

Str_ID:Strings中编号

Dtb(handlemap(a),b,c) //猜测是一种获取当前主题中图像的方法,但a,b,c各值所代表的图像不是很明确

sysmetric(ID) //系统变量表

ID可取值:

0 Screen width

1 Screen height

2 Width of sizable window frame

3 Height of sizable window frame

4 Width of scroll arrows on vertical scroll bar

5 Height of scroll arrows on vertical scroll bar

6 Width of scroll arrows on horizontal scroll bar

7 Height of scroll arrows on horizontal scroll bar

8 Height of window title

9 Width of non-sizable window frame

10 Height of non-sizable window frame

11 Width of DOUBLE or PANEL window frame

12 Height of DOUBLE or PANEL window frame

13 Scroll box width on horizontal scroll bar in text editing windows

14 Scroll box height on vertical scroll bar in text editing windows

15 Minimized window icon width

16 Minimized window icon height

17 Maximum insertion point width

18 Maximum insertion point height

19 Single-line menu bar height

20 Maximized window width

21 Maximized window height

22 Kanji window height

23 Minimum sizable window width

24 Minimum sizable window height

25 Minimum window width

26 Minimum window height

27 Window controls width

28 Window controls height

29 1 if mouse hardware present; otherwise 0

30 1 for Microsoft Windows debugging version; otherwise 0

31 1 if mouse buttons swapped; otherwise 0

32 Width of a button in a half-caption window's caption or title bar

33 Height of half-caption window caption area

核心部分

UIFile的编写

UIFile中的内容是许多结构为

...

Element [id=atom(*****)]

Element [id=atom(*****)]

...

...

的代码段,用于定义特定部分的样式及其内部元素的样式

其中可包含的属性有

contentalign: //元素位置。可有以下值

top: topleft, topright, topcenter

middle: middleleft, middleright, middlecenter

bottom: bottomleft, bottomright, bottomcenter

wrap: wrapleft, wrapright, wrapcenter //只可用于文本

background: //背景颜色

foreground: //前景颜色

bordercolor: //边界颜色 这3个属性可有以下值

rgb(red,green,blue) //RGB颜色

argb(alpha,red,green,blue) //包含alpha通道

gradient(argb(alpha,red,green,blue), argb(alpha,red,green,blue), Direction) //渐变色,第1个颜色变量为左上,第2个右下 Driection:方向 0 = 水平, 1 = 垂直

black, white, red, green, blue, ... //直接描述

window, windowtext, buttonface, buttonshadow, buttonlight, buttontext, scrollbar, hotlight, activecaption, captiontext... //系统颜色

fontsize: //字号

使用Strings表中值

fontface: //字体

使用Strings表中值

fontstyle: //字体样式

使用normal, bold, italic, underline等制

borderthickness: rect(left,top,right,bottom); //边框宽度

margin: rect(left,top,right,bottom); //缩放时保持不变的边缘宽度

padding: rect(left,top,right,bottom); //元素位置

以XP默认主题Luna的UIFile1为例

DUIListView [id=atom(listview)] //列表浏览

{

contentalign: middlecenter;

fontsize: sysmetric(-16); //sysmetric是系统变量表,对应的变量类型见前表

fontweight: sysmetric(-17);

fontstyle: sysmetric(-18);

fontface: sysmetricstr(6);

}

DUIAxHost [id=atom(preview)] //幻灯片浏览

{

contentalign: middlecenter;

borderthickness: rect(20rp,20rp,20rp,20rp);

bordercolor: rgb(255,0,0);

}

Element

{

background: argb(0,0,0,0);

}

Element [id=atom(blockade)] //系统文件夹

{

background: rgb(99,117,214);

borderthickness: rect(0rp,0rp,1rp,1rp);

bordercolor: white;

}

Element [id=atom(blockadeaccent)] //主窗口与侧边栏间的分割线

{

background: gradient(argb(0,148,187,255), argb(0,99,117,214), 1);

}

Element [id=atom(blockadeclient)] //系统文件夹背景图片

{

contentalign: bottomright;

padding: rect (10rp,0rp,0rp,0rp);

}

Element [id=atom(blockadetitle)] //标题("这些文件是隐藏的")

{

fontface: rcstr(2);

fontsize: rcint(18)pt;

fontweight: rcint(11);

foreground: rgb(214,223,245);

background: argb(0,0,0,0);

padding: rect (0rp,20rp,10rp,0rp);

contentalign: wrapleft;

}

Element [id=atom(blockademessage)] //标题("此文件夹包含使您系统...")

{

fontface: rcstr(2);

fontsize: rcint(17)pt;

fontweight: rcint(12);

foreground: white;

background: argb(0,0,0,0);

padding: rect (1rp,15rp,10rp,0rp);

contentalign: wrapleft;

}

Element [id=atom(blockadeclear)] //"显示此文件夹内容"一般状态

{

margin: rect(0rp,20rp,0rp,0rp);

}

Button [id=atom(blockadeclearbutton)][keyfocused] //"显示此文件夹内容"键盘触发

{

contentalign: focusrect;

}

Element [id=atom(blockadecleartext)]

{

fontface: rcstr(1);

fontsize: rcint(15)pt;

fontweight: rcint(10);

foreground: white;

background: argb(0,0,0,0);

contentalign: wrapleft;

padding: rect (3rp,0rp,0rp,0rp);

}

Element [id=atom(blockadecleartext)][mousefocused] //"显示此文件夹内容"鼠标触发

{

cursor: hand;

fontstyle: underline;

}

//以下各块中元素不再赘述,功能请参阅whistl3r的Shellstyle Tutorial

取消

评论

linux 文件颜色设置,Linux 怎么修改配置文件字体颜色相关推荐

  1. php网页代码字体颜色设置,html和css中字体颜色设置的相关总结

    网页中颜色的运用是网页必不可少的一个元素.使用颜色目的在于有区别.有动感.美观之用,同时颜色也是各种各样网页的样式表现元素之一,所以在我们的日常开发中不管是前端还是后端都离开不字体颜色,那么我们今天就 ...

  2. 如何更改linux文件权限设置,linux文件权限学习笔二——如何修改文件权限(chgrp,chown,chmod)...

    linux文件权限学习随笔二--如何修改文件权限 一.修改文件所属组群--chgrp 修改文件所属组群很简单-chgrp命令,就是change group的缩写(我们可以利用这些来记忆命令) 语法:c ...

  3. MFC颜色调配 | vc++6.0颜色设置,如何修改控件颜色

    效果展示 1.新建一个MyEdit类,该类继承自CEdit类,并添加相关变量和函数: 在MyEdit类的头文件(.h)中定义如下变量和函数: private:COLORREF m_Background ...

  4. php修改linux文件权限设置,linux怎么给文件设置权限

    linux设置目录和文件的权限: 通过chmod命令设置文件或目录的权限,可以采用两种形式的权限表示方法:字符形式和数字形式.r.w.x权限字符可分别表示为八进制数字4.2.1,表示一个权限组合时需要 ...

  5. linux 文件 字符集设置,Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解...

    博文说明[前言]: 本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点[2017年6月21号]下,所掌握 ...

  6. linux touch更新文件时间,Linux文件时间的查看和修改touch

    1. Linux文件的时间 Linux下文件时间主要有下面三种: 1.1 modification time(mtime) 文件修改时间,即文件内容的修改时,更新这个时间,不包括文件权限和属性的修改. ...

  7. linux 文件类型 管理,Linux的文件类型及用户管理

    Linux的文件类型 -,f:普通文件 d:目录文件,路径映射 l:链接文件(符号链接)软连接 设备文件: c:字符设备,一次存取一个字符 b:块设备 p:管道文件 fi,fo s:套接字文件,soc ...

  8. 文件上传linux服务器,Linux 文件上传Linux服务器

    进入命令行 在图形化桌面出现之前,与Unix系统进行交互的唯一方式就是借助由shell所提供的文本命令行界面(command line interface,CLI).CLI只能接受文本输入,也只能显示 ...

  9. linux文件权限754,Linux文件权限

    Linux文件权限 在Linux中,对系统服务的文件通常只有root才能读写或执行. 说明:Linux记录用户身份的是UID(用户ID)和GID(群组ID),root的两个ID号均为0,一般用户的两个 ...

最新文章

  1. DRM-内容数据版权加密保护技术学习(上):视频文件打包实现(转)
  2. 十二、爬了CSDN,我发现了这些
  3. BZOJ#3786. 星系探索(平衡树,fhq-treap,弱化版ETT)
  4. 法拉第未来:投资者声明中存在不一致之处 贾跃亭降薪
  5. 用 Doc2Vec 得到文档/段落/句子的向量表达
  6. mysql 主备心跳监测配置_mysql主备配置
  7. java迷题_Java——类谜题
  8. setsockopt中参数之SO_REUSEADDR的意义
  9. 计算机硬盘序列号有什么意义,硬盘序列号会/为什么会改变
  10. c++ 集合常用函数及集合排序
  11. 计算机的多媒体信息,多媒体信息
  12. c#email格式不正确_C#校验Email(电子邮件)地址是否合法
  13. Ansible自动运维工具
  14. 用Python处理Excel中的重复行--菜鸟入门
  15. 多路PT100转RS485模块
  16. switch细节讨论
  17. dbaplus-爱可生社区-北京站沙龙归来
  18. 练习2-4:重新编写函数squeeze(s1,s2),将字符串s1中的任何字符与字符串时s2中的字符匹配的字符都删除
  19. 借助幕课网的资源重新梳理下PHP基础知识,用以备忘。
  20. 007--python--英制单位英寸和公制单位厘米的互换

热门文章

  1. 1246 Problem -AM-笨鸟先飞-入门题-数学-C++实现
  2. sql 优化笔记(不全的,暂时存盘,不建议看,关闭留言,想喷也喷不了)
  3. 状态机架构 例3包文类型识别
  4. 想问问大佬们 大专跨专业学习c程序毕业可以找到一份不错的工作吗?
  5. python+appium实现手机自动答题
  6. Using the ps command
  7. 大专计算机毕业当兵有前途吗,24岁的大专毕业生去当兵有前途吗?该怎么办?...
  8. powerpc 汇编linux,powerpc e500系列,linux初始化的tlb汇编,添加人肉代码注释
  9. 关于Linux的网络设置
  10. ASEMI低压MOS管ASE50N03参数,ASE50N03封装