读书人

UIPOWER《简易版DirectUI的构建》源代

发布时间: 2013-01-18 10:22:42 作者: rapoo

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







读书人网 >编程

热点推荐