VC实现美化界面的几种方式。

最近由于做杀毒手的缘故,在这方面小有点研究,所以概括一下。

1·最简单最省事儿的,当然是使用第三方的皮肤控件。
这些控件按使用方法、效率、美化的控件数量分优劣,所以或多或少给你的项目带来了未知风险。

2·HOOK。一般是是HOOK窗体过程函数,在这个函数里根据消息类型做判断。
其实方法1大部分也是使用了HOOK,不过由于1通常都是直接拿来dll,而2则是自己写,所以这里就分为两个方法。

3·在项目里独立出一个UI模块,其他各个模块的控件都是UI模块生成。UI模块的控件类对其他模块是透明的。
这也就是闪电杀毒手使用的方法。这种方法的优点是:界面统一规范;缺点是:麻烦……

4·也是有一个独立的UI模块,UI里面重写了各种控件。不过这些控件类对其他模块是开放的。其他模块在声明控件变量的时候,直接使用UI模块的控件类,即包含那些控件类的头文件。但是还能对控件进行可视化操作,即直接拖放控件,然后使用DDX_Control(pDX, IDC_MYBUTTON, m_btn1);进行子类化即可实现界面美化。我目前觉得这种方法不错,优点是:简单异操作;缺点可能就是编译的体积较大。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据