首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

UIPOWER《简易版DirectUI的构建》源代码编译过程中的有关问题

2013-01-18 
UIPOWER《简易版DirectUI的构建》源代码编译过程中的问题最近著名界面库开发厂商UIPOWER的BOSS阙海忠也开通

UIPOWER《简易版DirectUI的构建》源代码编译过程中的问题

    最近著名界面库开发厂商UIPOWER的BOSS阙海忠也开通了微博,为求粉,放出了一份《简易版DirectUI的构建》的源码

     至于源代码地址大家可以加阙总sina微博然后去下载。

     http://weibo.com/uipowertech

    下载后的源码我是用VS2012打开的。

   UIPOWER《简易版DirectUI的构建》源代码编译过程中的有关问题

 升级工程到VS2012之后就可以直接编译了。编译过程很顺利。只是有个提示说注册dll失败。这个原因是因为权限不够。因为这个界面库是以com的形式调用的,所以需要先注册如下两个组件 DUIButton.dll  DirectUICom.dll 这里我用 开始-运行 的方式 regsvr32注册会提示
模块已加载,但对dllregisterServer的调用失败,错误代码为0x80040201
原因:使用管理员权限才能注册dll


解决方法是写一个批处理放在工程的output目录下
批处理的内容如下


IDUIRes *m_pDUIRes;

在应用程序初始化的时候同样初始化该界面库



感觉很奇怪。于是到源码中去看了看。  

UIPOWER《简易版DirectUI的构建》源代码编译过程中的有关问题

UIPOWER《简易版DirectUI的构建》源代码编译过程中的有关问题

传递过去的绘图的句柄和窗体句柄是一个。

为什么会导致绘图失败?这个问题太郁闷了。于是一路跟进去看它的绘制过程。最后调试到绘图的函数部分。排除了DC问题,贴图区域问题之后,终于发现问题是在于

AlphaBlend函数中。

这个函数



/**************************Witch_Soya********************/

2013-1-13







热点排行