循序漸進實現仿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窗口和控件,貼圖代碼可以照搬。

 

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