循序渐进实现仿QQ界面演示程序编译问题及MFC调用RingSDK图象库示例

有不少朋友反映《循序渐进实现仿QQ界面》里面的示例程序无法编译或编译有问题,以及希望能有MFC的工程,在此集中解答一下。

 

演示程序编译问题:

 

1、演示程序需要最新版本的RingSDK,请先用SVN到svn://svnhost.cn/RingSDK更新到最新版本,推荐用TortoiseSVN。TortoiseSVN的下载地址:http://tortoisesvn.net/downloads,安装后在资源管理器新建RingSDK目录,比如c:/ringsdk,在该文件夹上按鼠标右键,选择“SVN 检出”,输入地址svn://svnhost.cn/RingSDK,按确定就获取到了最新版本的RingSDK。

 

2、安装platform sdk,可以到微软网站去下或是到如下地址:ftp://platformsdk:[email protected]/platform_sdk.zip,如果setup不能安装请用setup 目录里的psdk_x86.msi安装。安装后选择VC菜单Tools->Options...,在弹出的对话框中选择Directories页,Show directories for:下拉框里选择include files,然后在下面列表中确认Platform SDK的include目录是排在第一位。同时把RingSDK的include目录加入列表,如下图:

 

然后Show directories for:下拉框里选择Library files,确认Platform SDK的lib目录排在第一位,把RingSDK的lib目录加入列表。如果你想调试程序时跟进RingSDK源代码,应该把RingSDK下libsrc下的目录加入到Source files列表里面。

 

3、编译RingSDK,先打开ringsdk/libsrc/freelib目录下3个子目录里的工程,这是3个第3方库,zlib,png和jpeg库,编译一下。然后打开ringsdk/ringsdk.dsw,编译RingSDK库

 

4、至此环境已经搭建完成,可以编译ringsdk/example下的示例程序和仿QQ界面的演示程序了。

 

MFC如何调用RingSDK图象库:

 

这里有个演示程序,MFC工程,下载地址:http://download.csdn.net/source/2028551

 

先看看程序截图:

 

 

是一个动画异性型窗口,按左键可拖动,按右键弹出菜单可选择退出。在此说明一下步骤,按此步骤可以不用去下这个演示程序,自己就能做出来。

 

1、新建一MFC对话框工程mfcdibdemo,选择使用MFC静态库。

 

2、选择VC菜单Project->setting...,General标签页,确认Microsoft Foundation Classes:的选项是Use MFC in a Static Library,然后选择C/C++标签页,Catgory:选择Code Generation,然后在下面的Use run-time library里面选择Debug Multithreaded或Multithreaded,设置完成。

 

3、把上面的程序截图图片存到本地,加入到资源,资源类型输入"GIF",连引号一起输入,资源ID为IDG_BKG

 

4、新建菜单资源,如下图:

 

映射两个菜单项命令函数为OnHelp和OnExit

 

5、CMfcdibdemoDlg增加WM_LBUTTONDOWN,WM_RBUTTONDOWN,WM_MEARUSEITEM,WM_DRAWITEM,消息的处理

 

6、代码修改:

 

mfcdibdemoDlg.h的开始包含图象库和界面库的头文件:

 

#include "ringdib.h"
#include "ringdows.h"

 

CMfcdibdemoDlg类增加两个成员变量:

RingDIB m_dib;
RingCoolMenu *m_rm;

 

修改mfcdibdemoDlg.cpp文件:

 

CMfcdibdemoDlg::OnInitDialog的最后,//TODO下面添加如下代码:

 

 

新增的消息代码:

 

注意OnMeasureItem和OnDrawItem里面不能调用CDialog::OnMeasureItem和CDialog::OnDrawItem,因为MFC会试图获取MFC的菜单对象但是获取不到,会非法操作。

 

7、完成,编译程序。

 

说明:用MFC的话其实不应该用RingSDK界面库,因为都是对窗口,控件做了封装,想要把仿QQ界面程序移植到MFC,应该自己创建MFC窗口和控件,贴图代码可以照搬。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章