2周年T恤设计比赛投稿进行中论坛升级问题疑问解答!诚招 - 美化坛版主
美化常用工具下载(必备)花不完的天下币秀桌面 - 展示(欢迎投稿哟)
发新话题
打印

详细分析StyleBuilder这个傻瓜软件

详细分析StyleBuilder这个傻瓜软件


  • 转自先锋网论坛 作者:张怜花
    ━━━━━━━━━━━━━━━━━━━━━━━━

    拿到一个老外做的VS,快速的在三分钟内让中文也能够很好的显示,用SB吧。
    下面的VS只有一种颜色
    图一
    normal\largefont\extrafont分别表示三种不同大小的字的总定义。。如果你不是喜欢把系统中的字体大小一下变大一下变小的,建议就只修改normal的,其他两个不管,管了也是浪费时间 我都说了只用三分钟滴。

    这个部分需要改的有7个地方,重要的有三个,分别是$captiongfont$\tahoma$\tahomabold$
    这个是三个最重要的的字符集,后面很多地方会用到。
    “开始面板字体”所有的VS中只会用到一处,那就是开始菜单上你的用户名 自己看着办咯
    “开始按钮字体”这里,现在流行的VS99%这里的字体大小都是1,就是不显示字。如果你改了大小,可能会导致开始按钮显示不正常。


    图二
    刚才的地方你用了多长时间?一分钟可以搞定吧?
    来看图二。图二标了好多地方的字体,有点晕么?
    嘿嘿,不要看着多,一共也就四个地方改
    1.pushbutton
    2.chenckbox
    3.rediobutton
    4.TAB

    慢慢讲解:
    1。pushbutton就是系统所有按钮啦
    2。chenckbox就是系统中所有方框型提示后面下面右面(没有左面啊,嘿嘿)的字体
    3。rediobutton同2啊,就是原框型的
    4。TAB。标签的字体可以给予一个总定义,如点树型目录中TAB,然后去图中的地方定义。99%的VS这里没有定义,你添加一个字体属性就够了。1。2。3。中也可能没有定义,也需要添加。

    最后,提示两点。一,要想速度快,这里四个地方用前面提到的字符集定义字体比你一个一个找字体快。二,树型目录TAB下面,有时候会有定义的字体,如果你前面给予了一个总定义,那么你需要把树型目录TAB下面有凡是字体定义的字体属性删除。HILLS这个小*做的VS就有,所以我非常痛恨他,还经常带全字体阴影,真是不怕累


    图三
    过了两分钟啦,其实就上面的修改,已经可以正常使用VS啦,剩下一分钟给追求完美的人看看。
    开始菜单,是开始菜单,不是开始面板,注意区别。就是点了“所有项目”后出现的菜单。


    图四
    四个红框中的字体定义了任务栏的字体
    还有一个是系统托盘时间的字体


    图五
    这叫placebar,看图就知道是什么地方的字体了。不多说了



    基本完了,还有些地方的字体没有说完,不过就以上的修改,你的VS应该在系统中完全正常使用。图中有些标出,但是没有讲到地方,是给那些追求完美的人,如果你是新手就没有必要去管它了。只要VS能用就行是不?

    图中的VS只有一个颜色,按我的速度,一分钟就搞定了,多自己改改就熟练了。3种颜色5种颜色的VS最多7分钟搞定。。。要不我怎么叫SB这个软件傻瓜呢?它只是一个外壳浏览器而已,用图形的方式让你看懂XML语言。

    下次我们来点难度的,分析一下HILLS的VS的阴影,嘿嘿,头大。。。

    补充一个定义很广的字体,几乎所有地方都有它
    icontitlefont在SB里面有两个地方可以改
    建议改下面一个,因为SB是个低级定义软件,越下级越优先
    icontitlefont定义了系统所有跟在图标右面下面的字体,嘿嘿,太平洋警察啊!
    看图,图中两处sye metrics目录里面都可以改



    我个人觉得用SB修改比用记事本编辑来得快,也比较直观点。说得烦琐是为了新鸟们能够简单看懂,呵呵。争取以后论坛少点“求修改字体”之类的贴。

    水平有限,可能还有说错或者不全的地方,欢迎大家帮我指正!

    先看这个VS的开始菜单吧,这个VS的作者就是大名鼎鼎的hilles(大家用的FF的skin基本都是出自他手)。不知道你们晕不晕,我是看了有点想吐


    好了,我们一起来SB中看看
    开始菜单在SB定义的键值是values\start menu,下面有两个分键值
    先看toolbar的键值里面定义了那些属性


    讲解属性的定义

    基本属性
    accent color hint:
    加重提示颜色?我也不明白,反正白的改成黑的也没有什么变化,可以用集合定义它
    BG type:
    背景类型。三种选择:imagefile图片文件、NONE无、bordefill背景色填充(这个跟下面一项相关)
    fill color hint:
    定义bordefill的颜色
    font:
    字体
    image file:
    图片文件。定义用做开始菜单背景的图片文件所在的位置。
    sizeing margins
    边缘尺寸。定义图片边缘的尺寸,通常是定义”image file“的
    sizeing type:
    尺寸类型。
    true size真实尺寸(如果你打算用一整张图做开始菜单的话,等下给看个效果图)、
    stretch向四周拉伸(最常用的)、
    tile片状拉伸(呈现出方块状,类似家里铺地用的瓷砖,比较少用的方式,合适正方形的image file)、
    tileHorz方块状水平拉伸(方块向水平方向拉伸)、
    tileVert(方块壮垂直方向拉伸)、
    tilecenter(字面上看应该是方块状中心拉伸,但是有部分VS改成这个会有问题,能改的VS也看不出来有什么变化 )

    附加属性(指得是一般不用来定义的属性)
    content alignment:
    内容队列对齐方式。通常是用来定义文字对齐的用
    txet color:
    文字的颜色
    text shadow type:
    文字阴影的类型。嘿嘿,三种。NONE无阴影、sigle(单独的,这种类型中,文字和阴影分开了,看起来不是那么的模糊)、continuous(连续。上面的hills最爱这样的阴影,我看得头晕 )
    text shadow color:
    阴影颜色
    text shadow offset:
    阴影的偏移。”1,1"前面的1指的是向右偏移,后面的1指得是向下偏移。
    transprarent:
    透明色。这里定义需要透明吗? true or false的二选一
    traprarent color:
    需要透明的颜色

    啊,真累啊,比复习政治还累。喝口水,GO ON!

    toolbar的下面还有6个键值,分别代表
    选中、选择焦点、焦点、普通、按下、按钮样式
    等不同时候开始菜单的显示。属性怎么定义,相信有了上面的讲解,应该明了了吧?想做成royale insparit开始菜单中的蓝色选择条就在”按钮样式“里面动动脑筋吧

    差点忘记menuband了
    menu band是开始菜单中分割线上面的部分
    下面有三个键值
    hot:焦点
    new app button
    分割线上面运用程序选择按钮样式。名字有点长,其实就跟toolbar里面的button一样的
    seperator:
    那条分割线。

    名词解释
    焦点:鼠标指针悬浮的地方(不太好理解,呵呵,就是鼠标放在”哪里“。不能理解也没有关系,99%的VS有关焦点的定义都是默认的,做和改VS不用管它的)

    看看我做的开始菜单效果

    背景图片使用的是24bit RGB+8bit alpha通道的BMP(只有这样的BMP才能做成背景)
    鬼佬们好像还没有做成这样的菜单吧?唯一遗憾的就是,这里始终无法改成透明的。

    hills因为字体阴影被他论坛里面的FANS狂批一顿后,把他所有的VS中的字体阴影都去掉了

    今天来看VS中的大头部分-开始面板。开始面板的键值在这里Values\General\startpanle
    下面这个图中,我把开始面板分割成几个部分,分别用键值的名字表示。
    这个开始面板是VS大师级作者KOL构思中的作品,暂时叫AzuleRoyale,我们借过来用用



    点到Values\General\startpanle这个键值时,通常会有两个键值属性
    Bgtype: 背景类型,三种选择。(我估计又可以用整张图片做背景了,不过SB低级优先!这里起不很大作用)
    DefaultPaneSize: 缺省的面板大小。用类似“0,0,340,440" 一串数字表示。前面两个0没有实际意义,第三个数字340表示面板的水平宽度,440表示垂直宽度。
    还是一句老话,SB低级属性定义优先,这里可以不用去管它的。

    下面来看sratpanle下面的几个主要键值(节约点篇幅,只介绍新出现的属性)
    键值Userpane:
    用户定义区?。呵呵,在这个区域中,只显示两个:用户头像和用户名字。
    属性
    UserPicture:是否选择显示用户头像,true or false。
    ImageLayOut:图像布局方式。默认是水平,选择垂直会出错
    DefaultPaneSize: 缺省的面板大小。由于这里是最低级的属性,所以,它的大小决定了Userpane的大小。前面两个0无实际意义,第三个数字是水平宽度,第四个数字是垂直宽度。

    键值UserPicture:
    如果你上面选择显示头像,那么你可以在这个键值下定义头像的一些属性。


    UserPane的下面由ProgList、MorePrograms和PlacesList三块构成。
    ProgList:
    如果你没有改动系统话,这里的是IE和EXPRESS的地盘。
    属性
    Image Count:图像数量。这个属性的实际意义是,你用来做背景的图像被平均分割成几份!系统会在不同状态下会自动选择显示哪一部分的图象。
    通常伴随这个属性还出现一个ImageLayOut属性的话,那么ImageLayOut所代表的意思就是水平分割和垂直分割。

    (键值ProgListSeparator
    定义ProgList面板上的分割线,可以使用PNG文件,其效果是叠加在ProgList面板上)

    键值MorePrograms:
    鼠标在这里悬浮时弹出开始菜单
    属性
    HotTracking:鼠标焦点跟踪的颜色。它代表的意思是,此种颜色存在的范围内都是鼠标的焦点。它的颜色通常情况同General\SysMetrics键值中的HighLight的颜色设置成相同。(大家不用去很详细的了解这个属性,这个属性是为了让笨蛋windows不至于丢失鼠标的焦点而设置的,按General\SysMetrics键值中的HighLight的颜色设置就够了。)

    (键值MoreProgramsArrow
    这里键值里面用来定义那个小箭头的)

    键值PlacesList:
    这里就是“我的电脑”“网上邻居”等的地盘。

    (键值PlacesListSeparator:
    设置PlacesList面板上的分割线,可以用PNG文件,显示效果是叠加。)

    开始面板最下面的是Logoff面板了
    键值Logoff
    HotTracking:这里的颜色再次被取代,所以不用去管它了。

    (键值LogoffButtons:
    设置关机、注销按钮的地方)

    括号内的键值都是伴随键值,当它上面的键值有定义时,伴随键值的定义才有效果。

    开始面板就是由这五块拼合成的。这五块面板的宽度跟长度决定了整个开始面板的大小。调整的时候,有几点需要注意的地方:
    1。UserPane的水平宽度应该等于Logoff的水平宽度
    2。PorgList的水平宽度应该等于MoreProgrames的水平宽度
    3。PrgList加上PlacesList的水平宽度应该等于UserPane

    从图可以看出,KOL这样大师级的人物做VS时,都是先画出整个开始面板的图片,然后把它分割开来的。。。不知道算不算偷懒?

    这部分文字多,图片少,有兴趣的朋友就慢慢看吧!


    补:我个人觉得开始面板的水平宽度在340-380像素是比较合适的,看起来也比较舒服,原因就是著名的”黄金分割比“啦。当然你要喜欢的话,你也可以把PorgList和PlacesList中间空出来,嘿嘿!

    其实这第四部分真的已经没有什么好讲的,限于SB这个软件的功能,VS无法做到具有类似WB多的特点
    但是我们还是可以看到SB这个软件其实还有发展的前途的

    例如前面没有提到的一个属性:offset type。 这个属性一般用来定义图像或者文字的位置。
    呵呵,是不是有点感兴趣把关闭等按钮移动到左边而不是默认的右边?

    这个属性起的就是这个作用,但是, windows的系统设置缺限定按钮的位置一定在右边。
    所以对VS来说,按钮左移在理论上是可以实现的,但是这个很有前途的功能却被windows本身给限制了。

    这个问题就不是SB能解决得了的!

    上次有关sizeing margins这个属性还有几个朋友在问我,这里我用图来大家再解释一次
    VS中的大部分图片其实都是经过一张小图片经过拉伸以后形成你所看到的样子。
    sizeing margins则定义这个图片的哪一部分被拉伸
    下图中是被放大了的。图中的红色小方块的的边长都是1像素。
    例如sizeing margins属性定义中,左边是3,代表:保留最左边的3个像素,从第四个像素向右边拉伸。
    这图中即半透明灰色的部分被拉伸。
    其他的顶部、右边和底部也是同理。



    呵呵,有好多VS都没有太注意这个小细节地方,所以看起总觉得那里不太对。特别是图片用了渐变效果的VS,这个属性多少都有点问题。

    最后告诉大家用SB快速找到你需要修改键值(老鸟就算了啊,呵呵,给新接触SB的朋友们看的)
    图中这个红框的地方在SB里面可以叫做”图形显示区“,想修改其中某部分的时候,鼠标只要移动到上面,点击SB就能快速在左边找到对应的键值。
    修改属性后,在右边的黑框中即”测试区“中移动鼠标或者按下鼠标,就可以看到改后效果。


    所以这也是我为什么叫SB这个软件傻瓜的地方,所见即所得。其实人人都可以上手,不要被英语吓到了!自己多动手,谁都可以成为高手的~
    先锋论坛关于讨论VS、SB的文章和教程都相当多,你可参考zephyrgong、shell32、zhangz和lalawu等写的教程。他们都是先锋的高手,对VS都有相当的研究。
    我写的这个系列就算对他们没有谈到的地方做个补充吧~呵呵

    我的所有的文章,如果大家喜欢,欢迎转载不用特别PM我的同意,记得留个我的名字就好!


    ━━━━━━━━━━━━━━━━━━━━━━━━
    ◎你知道VS中有属性被删除后,怎么添加吗?

    你说的是用SB导入VS后的部分原始属性吧?
    这个原始属性删除后,在SB中是无法再次添加的。。。
    SB限于功能的原因,只能添加一点附加属性
    不过可以通过修改xml文件来添加,前提是你需要知道一点xml语言
    ◎不错,支持。不过用sb导出资源文件,然后用editplus替换,一分钟不到就搞定了。
    是个好办法,我也很喜欢
    不过碰到某些VS,使用了两种以上的字体话,不太可能改全
    特别是lucida grande和lucidaGrande 这两个,就不太好区别
    如果搜索"font“这个关键字,时间上面就慢很多
    因为有font出现时,后面不一定就字体名。
    立刻给DT2周年T恤加油投票。。。
    这个是SB最早出的教程把
    好..好复杂的样子...要漫漫消化诶,还是满详细的~

    TOP

    看了一下,讲得特少了:victory:
    好多啊,学习一下:dtbq008
    E文..我头晕..受不了这个
    发新话题