BussinessSkinForm

入门教程

By 刘家君(qufo)

作者:刘家君

工作单位:福建省 泉州鹭燕医药有限公司 职务:网络管理员

网名:qufo

Mail:qufo@tom.com,qufo@163.com QQ:18185579

可任意转载 自由发布 ,但不要抹去我的名字及修改其中重要内容

序 言

BussinessSkinForm是Almdev公司(http://www.almdev.com)出品的一套皮肤控件,可以方便地美化程序界面,支持随时更新界面及自定义界面,现已有超过80套的皮肤可用。并且可以利用自带的皮肤编辑器生产自定义的皮肤。

本文档只提供入门级的教程,使“菜鸟”级的人物可以选学先看。更多的使用方法见其自带的demo和帮助,我将把demo和本文档打包在一起。

第一章:下载安装

一、下载

此控件在各大delphi控件下载站都有,并且是破解+中文的。如有可能,请支持正版。(可到http://www.almdev.com定制订单)。

下面我们以在 www.2ccc.com 下载得到的控件为例。

二、安装

1.下载得到的大部分为压缩文件,用解压缩程序将它解开后可以得到源代码及安装包, 如下图

注:我已安装Delphi 8 所以 DPK 的图标跟delphi 7中 DPK图标不一样。 2.启动 Delphi 我们以 Delphi 7 为例。

然后通过菜单 File -> Open Project 导航到压缩得到 BSFD7.dpk 路径,并选择以打开此包,如图:

3.点Compile 按钮,Compile 完成后Install 按钮变得可点。

点击 Install 按钮即可把控件包安装到delphi的IDE中。

4.通过 Tools -> Environment Options 可打开Environment Options窗口 选择其中的library:

点 library path 后的…按钮,

再按Greyed items denote invalid path后的 …

定位到BSF7.dpk所在文件夹,返回到点Add按钮,关闭直至退回到 Delphi 7主界面中。 至此,安装过程完毕。参考图(可拉大图形以观察仔细)

为使我们有更多的皮肤可用,可以到 http://www.2ccc.com/article.asp?articleid=299 下载55套皮肤,网上也有更多的皮肤可用,直接下载后解压缩便可使用。

第二章:建立一个BSF的Form 并测试换肤

我们已经把BSF安装好了,下面我们做个简单的窗体测试一下。 1. 新建一个工程。保存在 C:\\BSF下,工程名为demo1

2. 把下载的皮肤解压缩后放在 C:\\BSF\\Skins里面,以便使用。我这有80套,网上还有更

多。如下图

3. 在默认产生的 Form 上放上bsBusinessSkinForm、bsSkinData、bsStoredSkin,然后设置

bsStoredSkin的Filename,导航到C:\\BSF\\Skins\\下的任一文件夹\\skini.in,本例为C:\\BSF\\Skins\\corona!\\skin.ini为例,再设置bsSkinData的StoredSkin为刚才的

bsStoredSkin,再设置 bsBussinessSkinForm的SkinData为bsSkinData。窗体如下:

保存工程,按F9运行。看看是不是变成这样了:

此方法使用的是 StoredSkin。

再来一个动态改变skin的。

在刚才的Form1中放入 bsSkinOpenDialog、bsSkinMessage和bsSkinButton并设置三控件的 skindata为bsSkinData(刚才的bsSkinData)bsSkinButton1的caption设为”选择皮肤”,双击此按钮,写如下程序:

procedure TForm1.bsSkinButton1Click(Sender: TObject);

begin

if bsSkinOpenDialog1.Execute then begin

bsSkinData1.LoadFromFile( bsSkinOpenDialog1.FileName);

bsSkinMessage1.MessageDlg('更换皮肤成功',(mtinformation),[mbOK],0); end

else

bsSkinMessage1.MessageDlg('为什么不换呀?',(mtError),[mbOK],0);

end;

运行此程序,点“选择皮肤“

等等,那个确定按钮怎么那么别扭呀,好象没蒙上皮肤呀。下面告诉你。

刚刚我们发现那个bsSkinMessage里的确定好象并没有蒙上皮肤,原来是bsSkinMessage里的 CtrlSkinData也要设置成bsSkinData,再试,好了。

完成建立一个可自由换肤的 Form的演示。

像不像MAC ? Apple? ?

第三章:BSF的Menu

现在我们在Form中放入一个 bsSkinMainMenuBar,再放入一个delphi自己的MainMenu,双击MainMenu,输入一些菜单(我比较懒?)

运行一下。

菜单呢,到哪去了?

把bsSkinMainMenuBar 中三项红色的属性(SkinData=bsSkinData,MainMenu=MainMenu1, BusinessSkinForm=bsBusinessSkinForm1)设置一下,再运行,好,现在有了。

在使用bsSkinMainMenuBar时一定要记得三项属性全部设置好,否则可能出现没菜单或菜单项不弹出等尴尬事件。

BussinessSkinForm 入门教程的更多相关文章

  1. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  2. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  3. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  4. Content Security Policy 入门教程

    阮一峰文章:Content Security Policy 入门教程

  5. gulp详细入门教程

    本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...

  6. UE4新手引导入门教程

    请大家去这个地址下载:file:///D:/UE4%20Doc/虚幻4新手引导入门教程.pdf

  7. ABP(现代ASP.NET样板开发框架)系列之2、ABP入门教程

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之2.ABP入门教程 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  8. webpack入门教程之初识loader(二)

    上一节我们学习了webpack的安装和编译,这一节我们来一起学习webpack的加载器和配置文件. 要想让网页看起来绚丽多彩,那么css就是必不可少的一份子.如果想要在应用中增加一个css文件,那么w ...

  9. 转载:TypeScript 简介与《TypeScript 中文入门教程》

    简介 TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程.安德斯·海尔斯伯格,C#的首席架构 ...

随机推荐

  1. PHP实现sha1加密AES算法加密解密数据

    一.加密代码如下: /** * * @param string $string 需要加密的字符串 * @param string $key 密钥 * @return string */ public ...

  2. 【转】PHP利用Apache、Nginx的特性实现免杀Webshell

    转载备忘: get_defined_vars().getallheaders()是两个特性函数,我们可以通过这两个函数来构造我们的webshell. 前几天看到的,一直忘记写,填坑. 环境 函数 用法 ...

  3. C# Net 合并int集合为字符串,如:输入1,2,3,4,8 输出1~4,8

    C# Net 合并int集合为字符串,如:输入1,2,3,4,8 输出1~4,8 粘贴代码使用: /// <summary> /// 合并int集合,如1,2,3,4,8 输出1~4,8 ...

  4. python快速生成验证码

    利用python库random,string生成大小写字母和数字的随机验证码 import random import string def generate_code(bit_num): ''' : ...

  5. 在K8S集群中使用busybox-dig镜像,来作DNS解析分析

    以前,判断K8S里的DNS功能是否正常时,得想很多办法. 如果有了busybox-dig镜像,则作这事就简单多了. 如下命令,直接部署 kubectl run busybox -it --image= ...

  6. 小人大作战v0.02原型(单机)发布

    运行环境,pc,windows 链接:https://pan.baidu.com/s/1X5XR0flRAVuinnydNyRNng 提取码:cp9q 复制这段内容后打开百度网盘手机App,操作更方便 ...

  7. Eslint 允许使用双等号

    资料 网址 ESlint: Expected !== and instead saw != https://stackoverflow.com/questions/48375316/eslint-ex ...

  8. pointnet

    无序性:虽然输入的点云是有顺序的,但是显然这个顺序不应当影响结果.点之间的交互:每个点不是独立的,而是与其周围的一些点共同蕴含了一些信息,因而模型应当能够抓住局部的结构和局部之间的交互.变换不变性:比 ...

  9. serialize()和new FormData()的区别

    serialize()和FormData对象都可将表单数据序列化,后通过ajax异步提交 ,序列化表单就是将form表单中所有name属性序列化成KEY-VALUE的形式,提交到后台,后台以对象相应的 ...

  10. 转 Git生成SSH

    SSH keys SSH key 可以让你在你的电脑和Code服务器之间建立安全的加密连接. 先执行以下语句来判断是否已经存在本地公钥: cat ~/.ssh/id_rsa.pub 如果你看到一长串以 ...