市场上的MFC第三方库很多,最终选定dskinlite企业版,成熟度比较高,当然价格也略贵。

在2017年仍然使用MFC是有些另类,但特定场景很适用,也适合不愿转型的老程序员。

目前处于学习阶段,欢迎加扣扣交流(80101277)

xml达到一定规模后,验证文档有效性成了当务之急,通常有命令行的xmlint。这里推荐xmlspy(有2013破解版)。

例如:

<color id="system_bg" value="RGB(255,255)" />            // 错误: RGB格式不正确
<color ld="system_bg" value="RGB(255,255)" />            // 错误: ld不是正确的属性,需要改成id

<color id="system_bg" value="RGB(255,255,255)" />     // 正确

通过在xml中定义schema,可以达到校验元素,属性,值的目的,schema可以通过xmlspy工具生成,

这是个比较大的话题。

dskinlite(uieasy mfc界面库)使用记录1: schema验证xml的更多相关文章

  1. dskinlite(uieasy mfc界面库)使用记录4:绘制动态元素(listbox)

    效果图: XML代码: 299行的headerctrl只针对listview有效,这里是listbox,忽略 wirelessName,wirelessStatus,wirelessSignal会通过 ...

  2. dskinlite(uieasy mfc界面库)使用记录4:listbox测试

    先看效果图: xml代码: 作者qq:80101277,dskinlite交流qq群:138231653 <window name="listbox1" type=" ...

  3. dskinlite(uieasy mfc界面库)使用记录3:绘制动态元素(按钮控件通过隐藏方式修改图片显示)

    效果图: 分别是:正常,正常鼠标悬停,按下,按下鼠标悬停 XML代码: 75,76行定义了一个image,注意id和index属性 初始化代码: click代码: 147,148,153,154:通过 ...

  4. dskinlite(uieasy mfc界面库)使用记录2:绘制动态元素(按钮控件绘制元素动态控制,改变图片和文字)

    效果图:这4个分别是按钮按下后4种状态的效果 第88行是显示默认的按钮文字,没有id,SetWindowText改的就是它了 第87行是左边的图片,id是ico,可以通过程序控制 第89行是蓝色的文字 ...

  5. BCGcontrolBar(一) MFC界面库简介

    原帖地址:http://blog.csdn.net/zw514159799/article/details/9148385 英文原文:http://www.bcgsoft.com/bcgcontrol ...

  6. MFC界面库BCGControlBar v30.1新功能详解:Dialogs和Forms

    亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBar Professional for MFC和BCGSuite for MFC v30.1正式发布!此版本包含themed find ...

  7. MFC界面库BCGControlBar v30.1——Grid/Report控件

    亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBar Professional for MFC和BCGSuite for MFC v30.1正式发布!此版本包含themed find ...

  8. VC UI界面库大集合

    Guitoolkit http://www.beyondata.com/pwc.html The Ultimate Toolbox http://www.codeproject.com/KB/MFC/ ...

  9. 常见MFC UI界面库[转]

    Xtrme toolkit,BCGControlBar,SkinMagic,AppFace,Skin++,Uskin++,SYGUI,LibUIDK,GuiToolkit,GardenUI等等,除了后 ...

随机推荐

  1. 基础总结(04)-- display:none;&&visibility:hidden;区别

    display:none 1.使元素隐藏,不再占据空间. 2.动态操作时会引起页面回流和重绘,影响性能. 3.子元素也会被隐藏并且添加display:block/visibility:visible无 ...

  2. POI导入demo

    前言 使用上篇博文的导入方法,写一个简单的导入demo.其实有了工具类之后就没啥难度了,也就只简单的拿数据.先写个简单的,然后想办法实现动态读取吧,这样读取其实还是比较烦的,每次该模板都要改代码,说到 ...

  3. 002.[python学习]python编码规范pep8学习——PEP8第一部分代码布局

    关于PEP8的详细说明可以参考官方原文:http://legacy.python.org/dev/peps/pep-0008/ 我参考官方文档及其他文章,摘出相关内容而得此文章,具体参考其他文章见文中 ...

  4. JWT,oAuth和SSO的讨论

    JWT,oAuth和SSO的讨论 背景 Single Sign On有很多成熟的方案.基于Session的服务常使用缓存Session信息在一个缓存服务上(例如redis)以实现SSO,每个微服务使用 ...

  5. Vue stage3

    <body> <div id="box1"> <div v-bind:class="{ 'active': isActive, 'error ...

  6. Handle/Looper源码分析;

    1. Handle中的属性: final Looper mLooper; final MessageQueue mQueue; final Callback mCallback; final bool ...

  7. 使用ThreadPoolExecutor进行多线程编程

    ThreadPoolExecutor有四个构造函数,分别是: 1,ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keep ...

  8. 性能测试进阶指南——基础篇之磁盘IO

    本文旨在帮助测试人员对性能测试常用指标做一个简单的讲解,主要包括CPU.内存.磁盘和网络带宽等系统资源,本文仅仅局限于Linux系统,Windows Server系统暂不做考虑. 使用iostat分析 ...

  9. pyqt-QGrapicsView类

    QGrapicsView类 QGraphicsView提供一个显示QGraphicsScene内容的窗口,该窗口可以滚动,可以在构造时候把场景对象作为参数,或者之后使用setScene()来设置vie ...

  10. thinkphp51初始化方法initialize

    此方法是在所有方法之前被调用的. class Index extends Controller { public function _initialize() { echo 'init<br/& ...