WEB开发网
开发学院软件开发VC VC模仿超炫QQ界面的实现 阅读

VC模仿超炫QQ界面的实现

 2008-09-01 19:25:44 来源:WEB开发网   
核心提示: 2.加载换肤库 做好基本框架后,界面还是很土,VC模仿超炫QQ界面的实现(3),运行效果难以让人满意,于是我们接下来可以加载换肤库,已经完成换肤库的加载了,运行看看效果是不是眩了很多,初步改变程序的界面外观了,将先前准备好的skinBeauty.dll库放在项目的运行目录

2.加载换肤库

做好基本框架后,界面还是很土,运行效果难以让人满意,于是我们接下来可以加载换肤库,初步改变程序的界面外观了。

将先前准备好的skinBeauty.dll库放在项目的运行目录,在项目的目录放入SkinBeautyExport.h文件和SkinBeauty.lib文件,以便稍后引入并调用函数接口。(一般DLL库的调用分成静态调用和程序运行期间动态调用2种,关于这两种的区别,可参考其他文章。这里,我们将选用静态调用的方式实现)

在适当的位置添加引入库的声明,这里我们选择在stdafx.h文件里面添加:

//inside stdafx.h
//SkinBeauty Lib Call
#include "SkinBeautyExport.h"
#pragma  comment(lib,"SkinBeauty.lib")
  在项目得初始化位置(这里选择在项目的创建实例cpp文件里面,BeautyQQ.cpp的CBeautyQQApp::InitInstance()函数的开始,一般都可以在此加载)加入皮肤加载的代码:BOOL CBeautyQQApp::InitInstance()
{
  CString exeFullPath;
  CString strFilename;
  int nLen = GetModuleFileName(NULL, exeFullPath,MAX_PATH);
  CString strPath(exeFullPath);
  strPath = strPath.Left(strPath.ReverseFind(''));
  strFilename = strPath +_T("eautyQQ.bsk");
  SkinLoad(THCAR2char(strFilename.GetBuffer(0)));    
  ......
}
  从上面可知,我们先用GetModuleFileName()获取加载皮肤的路径,然后调用提供的函数接口SkinLoad()实现换肤库的加载。而SkinLoad()函数的参数也比较容易理解,就是皮肤所谓位置的路径。它的原型可以在头文件找到://load the skin with a skin-file from a path.
//[IN]:absolute file path
BOOL SkinLoad(char* szSkinPath);
至此,已经完成换肤库的加载了。运行看看效果是不是眩了很多,呵呵。

上一页  1 2 3 4 5  下一页

Tags:VC 模仿 QQ

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接