hga010手机版网址

SkinBeauty 相关转VCKBASE

三月 4th, 2019  |  hga010皇冠手机版

 

VC模仿超炫QQ界面包车型客车兑现
作者:Elio

源代码下载

  关键字: VC++ QQ界面 换肤 自绘控件 透明窗口 Vista样式 免费开发包 源码
模拟

  随着电脑技术的向上与推广,总计机慢慢走进了稠人广众的经常生活个中。人们通过它来学学,娱乐,新闻的互相等等.并且对应需而生的种种种种的软件出品的
要求也有了自然的增进。除了基本作用外,对软件易操作性,界面包车型地铁雅观性等也是多个得逞软件必不可少的关键成分。赏心悦目本性化的界面是叁个软件吸引和留下用户
的宝贝之一,通信软件QQ/MSN正是那类产品中的3个头名的象征,下边将用VC++对QQ的界面实行模拟完毕,供周边朋友参考。
  相信各位对QQ已经13分熟习,由此对其外观特点等不作累叙.我们将选取Visual
C++来进展举行落到实处。在那在此之前,有必不可少向读者介绍一下差不多境况。
  其实,整个进度最重点的片段是性子化界面自绘部分,也是难度最大的一部分。关于界面编制程序方面包车型客车学识,诚然那是三个较为大的种类布局,我们不能够奢求通过简
短的字数就能对它进行相比较完善的叙说,并且未来软件开发行业也有缩水开发周期,提升成本功用的大势,于是将这一难度题目借用外在控件支持大家成功。
  关于换肤控件的选用,那里也向我们不难介绍一下,当然那只是个体的观点,仅供参考理解。当前市面提供多少个换肤盛名的换肤产品
(SkinMagic,Skin++,USkin,AppFace,SkinCrafte,等),在那之中SkinMagic,AppFace,USkin等
都以做得相比草率的,界面的有些因素效果做得让人不太满意.而Skin++和SkinCrafte在那上边做得相比杰出.客观的说Skin++如今应当
说,是国内比较可观的成品,其占用能源消耗比俄联邦成品SkinCrafte要特出,而俄联邦产品SkinCrafte在外观质量上达成的效果比Skin++
要突出点,首席营业官L一点。
  即便那样,本完毕没有选择以上任何一出品,原因是那里有多个新起之秀SkinBeauty,它不管质量和外观做出的成效都相比狂妄,更甚的是声称提供不错的键盘操作补助同时并号称在Win2K和XP等系统能够做出Vista的玻璃磨沙效果。
  当然,那个都是所谓的比较结实而已,还有三个选择SkinBeauty的来头是:SkinBeauty能够使用自带的皮肤编辑软件(SkinBeauty
Studio)实现一套皮肤含有三种体制的窗口界面,按钮样式等。那是上述任何1个产品临时就好像都不能够提供的。而大家这些类型的必要也有此(主界面,聊天对话框窗口差异,并有七个差异特点的按钮等细节难题)。

通过了日前的大致描述,接下去将启幕具体的贯彻了。先看一下对象效果,如图:

hga010皇冠手机版 1

hga010皇冠手机版 2

0.备选干活:

  用产品相应的皮肤编辑软件SkinBeautyStudio编辑好界面各因素皮肤,一般美观的界面都是由图片绘制所成(那里是到其主站下载已部分
BeautyQQ.bsk皮肤)。将下载好的换肤开发库(SkinBeauty.dll,SkinBeauty.lib)和接口文件
SkinBeautyExport.h准备好,下载地址在本小说后有付出,或本人到www.afe-soft.com上本人下载。

1.确立项目:

开辟VC++,利用向导协助建立依照MFC的对话框项目BeautyQQ,进程如下
New-> Projects -> MFC AppWizard(exe) -> Dialoag based
其他暗中认可达成建立。简单的修改一下对话框的分寸,标题栏名称等,编写翻译一下,如图:

hga010皇冠手机版 3

运作一下主干符合规律,那即便落成了品种的创办工作了。

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("\\beautyQQ.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);

迄今截止,已经到位换肤库的加载了。运转看看效果是还是不是眩了不可胜计,呵呵。
顺便说一下的是,官方表明,调用完SkinLoad()载入后,在剥离程序前并不供给调用任何卸载函数,换肤引擎将活动完结库的绝迹拆卸与拼装等操作,除非您程序运行中途意愿性的想去掉皮肤外观。

  未来已经实现QQ主界面包车型大巴外观达成与美化了,接下去大家由此VC向导添加一个会话框能源并累加相应的类,命名CtalkDlg类,其效果是聊天对话框
的对话窗口,也正是当我们双击用户列表的中间二个用户后弹出的聊天窗口.当大家运转的时候发现,它的窗口背景外观除了大小外,其余跟主界面是一心相同的,
怎么做呢?没有关联,因为在肌肤文件之中早已编写制定和准备好另一外观的窗口皮肤财富,大家只要求将以此聊天对话框创立后跟那个皮肤财富绑定则可,重载这些CtalkDlg类的初阶化函数,并丰裕绑定代码,具体贯彻如下:

BOOL CTalkDlg::OnInitDialog() 
{
 CDialog::OnInitDialog();


   //将该对话框绑定某资源ID,让其绘制根据该资源定义来实现
  //bind with the predefine res
  BindRes2CtrlbyHWND(103,m_hWnd);
    ......
}

  上述代码功效是将事先在beautyQQ.bak皮肤里面定义好的对话框图像能源与对话框绑定,能源内部ID号为103(注意,该财富编号是编写制定皮肤
的时候就是由用户定义的,一般从101方始)。从下面的BindRes2CtrlbyHWND()函数名称以及参数可见道,效能是将窗口句柄为
m_hWnd的窗口外观与能源Id为103的皮层能源绑定.于是,那就兑现了差别窗口能够来得不一样的背景皮肤了。
  跟那些成效相就像的是,大家聊天对话框有一些个按钮,它们拥有不等同的外观,按理也相应绑定钦命须要的外观皮肤能源,于是,我们能够采纳以下函数接口达成:

BindRes2CtrlbyID(106,IDC_BUTTON_TALK_SERACH);

 
 以上语句是将肌肤财富ID为106的肌肤跟程序能源ID为IDC_BUTTON_TALK_hga010皇冠手机版,SERACH的搜寻按钮相绑定,该函数接口能够在程序运转前面预先将某控件与钦点的肌肤财富相绑定,提供的是控件财富ID与皮肤财富ID。当然也可以用句柄的不二法门绑定,前面边的
BindRes2CtrlbyHWND()分化的是,超越三分之一会话框窗口在运维时期从不稳定的控件能源ID的定义(不象button,edit等控件),所
以只可以使用实时句柄HWND的格局进行绑定。后边四个财富绑定函数的原型在SkinBeautyExport.h头文件之中能够找到,如下:

//bind a skin_resource with a Ctrl by Ctrl ID or by handle
//[IN]:user resource define in the skin-file; the ID/handle of Ctrl to be set 
void BindRes2CtrlbyID(int nUserResID,DWORD dwCtrlID);
BOOL BindRes2CtrlbyHWND(int nUserResID,HWND hWnd);

  好,经过地点的叙述后,对照附属类小部件的源码,对于QQ的菜谱,用户列表等完结已经不是那么困难了,用户只需象通常的菜系和ListCtrl那样使用就足以了,运维的时候换肤库自动会将他们的外观美化起来。读者可下载源码,看它是怎么绑定完结的。
中央全部复杂而超眩的品种就在成就向导创造后调用两到多个第贰方接口函数中形成。坦白说,整个换肤开发包提供的接口函数至极不难,就10多个,功用与使用
方法亦是一定清楚,相信无需多钻研就清楚什么样运用;倘使对那多少个接口函数有哪些难点,能够参见官方提供的开支文档表明书。
  其实上边的例证跟公司提供的源码类似,只是小编将其完成进度解释出来而已,希望对做界面包车型客车意中人有参照功能。开头作者是对利用公司界面换肤产品的行为比较反感,后来发现成效和功效还凑合,纵然了,并在商户的鞭策下写了篇小说帮他们介绍给读者认知,换取了三个合营社版本的开发包。算是“个人利益跟群众利益结
合”吧,的确不易的,大家能够测试。但是作者想对国内少数用户不太满足的是,如今SkinBeauty的运用文档是英文著写的,一时半刻并未汉语版本,那对有些不动E文的心上人有点不便于罢了。
搞界面开发的,建议多下载多少个换肤产品看看其属性,如能源占用,做到的机能,键盘操作性等。

结语

  在更为强调效用的一代,不妨设想使用可信赖的第①方控件,将混乱而一定的兑现扔给它们来拍卖,深远产品成效业务,站在人家的肩头上,再优化本人,从而走得更高更远。

参考文章

  • 行使换肤开签发承包合约SkinBeauty开发商主页:www.afe-soft.com
  • 开签发承包合约(免费版本)下载地址:
    http://www.afe-soft.com/downloadcenter.htm
  • 支出文书档案下载地址: http://www.afe-soft.com/downloadcenter.htm
    (免费版本是无Logo,无弹出窗口限制的,那一点可以给一些做共享的爱侣点福利了,预计,当然,固然要质量好,不完全受限仍旧供给获得集团版本了..天下没有免费的中午举行的宴会,天下乌鸦一般黑?…呵呵,依然不损得太厉害了)

来源:http://www.vckbase.com/document/viewdoc/?id=1841

 

 VC 6.0 编译 cannot open file “uafxcwd.lib”

 

 

前不久在编写翻译3个软件源代码的时候出现一个题目

cannot open file “uafxcwd.lib”

自己在网上收集有关的化解方案.

1.

菜单project-》settnigs-》link-》Object/Library  
modules:中添加uafxcwd.lib   
 2.
  要是依然相当,选用vc的万事装置,而不是暗许安装

假如是unicode,能够用vc盘修复一下vc,钩选相关项。

本身要好是把vc盘里面包车型地铁lib复制到vc mfc lib里面而不是重新安装

发端写了一篇没封存 那是第三遍写

附属类小部件里面是必要的”uafxcwd.lib”文件

附属类小部件下载:
  hga010皇冠手机版 4uafxcwd.lib
  hga010皇冠手机版 5uafxcwd.lib

 

 

Your Comments

近期评论

    功能


    网站地图xml地图