BussinessSkinForm 入门教程
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 入门教程的更多相关文章
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- Content Security Policy 入门教程
阮一峰文章:Content Security Policy 入门教程
- gulp详细入门教程
本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...
- UE4新手引导入门教程
请大家去这个地址下载:file:///D:/UE4%20Doc/虚幻4新手引导入门教程.pdf
- ABP(现代ASP.NET样板开发框架)系列之2、ABP入门教程
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之2.ABP入门教程 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...
- webpack入门教程之初识loader(二)
上一节我们学习了webpack的安装和编译,这一节我们来一起学习webpack的加载器和配置文件. 要想让网页看起来绚丽多彩,那么css就是必不可少的一份子.如果想要在应用中增加一个css文件,那么w ...
- 转载:TypeScript 简介与《TypeScript 中文入门教程》
简介 TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程.安德斯·海尔斯伯格,C#的首席架构 ...
随机推荐
- logger(三)log4j2简介及其实现原理
一.log4j2简介 log4j2是log4j 1.x和logback的改进版,据说采用了一些新技术(无锁异步.等等),使得日志的吞吐量.性能比log4j 1.x提高10倍,并解决了一些死锁的bug, ...
- Node.js官方文档:到底什么是阻塞(Blocking)与非阻塞(Non-Blocking)?
译者按: Node.js文档阅读系列之一. 原文: Overview of Blocking vs Non-Blocking 译者: Fundebug 为了保证可读性,本文采用意译而非直译. 这篇博客 ...
- 目标检测论文解读12——RetinaNet
引言 这篇论文深刻分析了one-stage的模型精度比two-stage更差的原因,并提出Focal Loss提高精度. 思路 在论文中,作者指出,造成one-stage模型精度差的原因主要是:正负样 ...
- 孪生网络(Siamese Network)在句子语义相似度计算中的应用
1,概述 在NLP中孪生网络基本是用来计算句子间的语义相似度的.其结构如下 在计算句子语义相似度的时候,都是以句子对的形式输入到网络中,孪生网络就是定义两个网络结构分别来表征句子对中的句子,然后通过曼 ...
- django+sqlite3进行web开发(一)
服务器配置 安装django sudo apt-get install python-django -y 安装mysql(可选) 也可以直接使用sqlite sudo apt-get install ...
- python基础之五:dict 字典
1.数据类型的划分:可变数据类型.不可变数据类型 不可变的有:元组(tuple).字符(str).整型(int).布尔型(bool) 它们都可以哈希 可变的:列表(list).set.字典(dict) ...
- 微信小程序 vscode 自动保存 保存自动编译 微信开发者工具崩溃
修改vscode的自动保存延迟时间,将 auto save delay 选项 修改的长一点.
- Scrapy笔记10- 动态配置爬虫
Scrapy笔记10- 动态配置爬虫 有很多时候我们需要从多个网站爬取所需要的数据,比如我们想爬取多个网站的新闻,将其存储到数据库同一个表中.我们是不是要对每个网站都得去定义一个Spider类呢? 其 ...
- 树莓派项目(1-3 )目标识别 NNPACK支持版Darknet,可用于树莓派等嵌入设备
https://github.com/digitalbrain79/darknet-nnpack https://github.com/AlexeyAB/darknet#how-to-train-to ...
- vue之非父子通信
一.非父子通信: 思路: 找个中间存储器,组件一把信息放入其中,组件二去拿 代码如下: let hanfei = new Vue(); # 实列化个空的vue对象,作为中间存储器来时间 ...