最近一直在学嵌入式,蛋疼啊,专业学软件的去搞硬件原理,真心有点伤不起,比较无聊,希望尽早脱离这个状态。

中午在林同学那里看到他在MFC上应用了Skin++皮肤,这是一款通用的软件换肤套件,支持各种系统,无聊啊,皮肤神马的以前也搞过,不过以前没玩过MFC的,以前是玩的SDK套件中的DirectUI(炫彩界面库),刚好硬件看得想睡的时候,就把这套皮肤拿来玩了一下,效果还不错,有图有真相,下面是一套机器人皮肤。

虽然会MFC,不过很少用MFC来做软件,我一般是用SDK和delphi做开发,于是我想,如果这套皮肤也能用于delphi,该多好啊。

然后看了下Skin++的这个版本,它是以DLL形式调用的,所以delphi一定能用,比起MFC来说,delphi的开发周期就短多了,另外在delphi中调用标准DLL可以静态调用也可以动态调用,一般来说,以模块的形式来静态调用DLL是比较方便的,而Skin++所用到的所有图片资源和皮肤配置都全部包装在*.ssk文件中了,于是调用起来就如鱼得水了。

通过模块的调用,最后就是在delphi的程序总入口进行皮肤初始化工作了,这中间还发生一件纠结的事,以前用delphi写的一个后门程序,被我无意点到了,纠结啊,试了好一会才记起来密码(中间有尝试次数及间隔时间限制),无语了,最后用以前写的一个delphi版记事本来测试了下这套机器人皮肤,有图有真相,效果还不错吧!

这套皮肤还支持.Net和易语言呢,易语言我会,但是不会.Net,不过易语言本身就有很多优美的皮肤了,而且还有动态皮肤,所以就不折腾了,况且易语言的静态编译总是出现这样或那样的问题,不知道.Net是个什么情况(微软的东西真伤不起),这个会.Net的人可以去折腾下,毕竟大家都比较重视视觉效果。
   下面再附上一张易语言的皮肤,比上面的华丽吧,苹果系统的呢,而且主界面带动态水波纹效果的哦,如图。

哎,又得去纠结嵌入式了。。。。。。。

【开发】MFC到Delphi的皮肤移植的更多相关文章

  1. 我的Win32开发抉择,Delphi老将复出

    这两天在开发公司的一个教学软件客户端,因为要考虑到给PHP.平面设计等班的同学使用,为了避免安装.Net Framework.JRE的麻烦(如果把.Net Framework.JRE打包到安装包,也会 ...

  2. VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

      开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件.(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网 ...

  3. VS2010开发MFC ActiveX,摄像头拍照上传Webservice(1)

    最近工作项目,BS中需要用到摄像头拍照,需要存储本地,同时上传到服务器,尝试使用vc++做ActiveX来实现. 完全没有使用过vc,上网搜索各种知识,初步完成.在这里记录下有帮助的资料. 第一步:编 ...

  4. 开发 MFC 应用的一般过程

    1.创建用户接口一般使用 Visual C++内置的资源编辑器创建用户接口,用户接口主要包括菜单.加速键.对话框.位图.图标.光标.工具栏以及其他资源等.通常,应用向导创建的资源文件包含了工程所需要的 ...

  5. cmake编译dcmtk,并利用vs2010 进行开发mfc 程序

    这几天要处理 医学图像数据,经同学推荐 采用 dcmtk 关于 编译 dcmtk 是可参考如下blog 1. http://blog.csdn.net/okaimee/article/details/ ...

  6. VS2010开发MFC ActiveX,摄像头拍照上传Webservice(2)

    继续记录,第二步开发摄像头拍照功能. 使用vfw.h开发摄像头拍照功能,关于vfw网上有很多文章,很多代码可以参考 参考:http://blog.163.com/huangqiao_8/blog/st ...

  7. win10 开发mfc 64位 ocx控件

    问题1.模块“XXX.ocx”加载失败 解决办法:项目--〉属性--〉常规-〉配置类型-〉  动态库(.dll) 修改为 静态库(.lib) 问题2.1>x64\Release\stdafx.o ...

  8. NX二次开发-MFC对话框获取UG界面句柄,设置MFC对话框在UG界面固定显示位置

    extern "C" DllExport void ufusr(char *param, int *retcod, int param_len) { if (UF_initiali ...

  9. [教学] Delphi Berlin 10.1 开发 Windows 10 平板 App 远程调试

    Delphi Berlin 10.1 开发 Windows 10 平板 App 远程调试安装步骤: 准备电脑: 一台开发电脑,安装 Delphi 开发环境 一台平板电脑,安装 PAServer,安装方 ...

随机推荐

  1. iOS中判断网络是否联网

    #import "AppDelegate.h" #import "ViewController.h" #import "Reachability.h& ...

  2. Linux安装配置maven以及搭建nexus私服(编写启动脚本)

    2011年07月12日16:32  下面介绍在Linux操作系统下安装配置maven和搭建nexus私服. 一.安装前的准备 下载 jdk http://www.oracle.com/technetw ...

  3. rename系统调用的实现浅析

    rename系统调用用于在同一个文件系统中做文件的rename操作.如果源和目的在不同mount点上,rename会返回错误EXDEV. rename系统调用的实现入口在./fs/namei.c中: ...

  4. spring 2种下载方式 下载地址 download 地址

    spring 在官网只提供 maven 的下载方式,把zip方式的不再提供,两种方法下载: 1.想找回以前版本的spring zip包,如果知道版本号,那么直接在google里输入 ” spring ...

  5. log4j(四)——如何控制不同风格的日志信息的输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 import org.apache.log4j.*; //by godtrue p ...

  6. 微信图片分享遇到 checkArgs fail, thumbData is invalid

    该问题主要是微信图片限制32K以内的原因,可将bmpToByteArray方法进行进行改写. 原方法是: /** * 得到Bitmap的byte * @author netcorner * @para ...

  7. Chrome浏览器如何不让它缓存?

    chrome对js和图片的缓存,导致调试的程序不是最新的,有时F5刷新了都没用. 此时应: Ctrl+F5 或 Shift+F5 重新载入当前网页,忽略缓存的内容.

  8. 数据库事务隔离级别+Spring 声明性事务隔离级别

    数据库事务隔离级别 数据库提供了四种事务隔离级别, 不同的隔离级别采用不同的锁类开来实现. 在四种隔离级别中, Serializable的级别最高, Read Uncommited级别最低. 大多数数 ...

  9. Android 如何添加一个apk使模拟器和真机都编译进去 m

    添加一个apk都需要将LOCAL_PACKAGE_NAME的值添加到PRODUCT_PACKAGES才行.而PRODUCT_PACKAGES一般在build/target/product/目录下的文件 ...

  10. [转]Java 变量和常量

    变量和常量 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 在实际的程序中,可以根据 ...