1. 标题栏自绘: 
    在网上搜索了好多关于标题栏自绘的例子,但是大都是存在很多问题的,多是没有自绘彻底,比如出现闪烁,会出现默认风格最大化等按钮的显示,不过有份代码处理的比较好,至于出于什么地方想不起来了,下面会一并给出源代码,本例是在这份源代码的基础上作的改进,主要有一下几个方面:
(1)当我们点击最大化,最小化或关闭按钮的时候,只有当左键弹起时才能起效;
(2)当窗口失去焦点时,标题栏应有对应的反映,即改变标题文字和最大化等按钮的颜色;
(3)使用了CToolTipCtrl控件,实现了当我们将鼠标放置道最大化等按钮上时,显示文字提示;
(4)可以设置对话框标题栏的左上角和右上角是以圆角显示还是以执教显示,调用即可实现;
(5)使用FrameRect函数绘制了对话框的边线;
(6)对原有的代码做了一些简化的处理;
(7)将对话类封装了一下,即CColorTitleDlg,要实现多个对话框用以风格的重绘,只需继承该对话框类即可。2. 双缓冲显示位图:
    双缓冲显示位图的原理网上介绍的比较多,这里就不再赘述。本例中的CTestBitmapShowDlg主测试类中位图的显示,以及CColorTitleDlg标题栏重绘类中标题栏的贴图操作都是使用双缓冲来实现,以避免界面的闪烁。3. 位图按钮类的使用:       本例中对CTestBitmapShowDlg主测试类中的按钮进行了美化处理,使用了CBitmapBtn按钮位图类,事先用photoshop为每个按钮绘制四种不同状态的位图,即正常状态,鼠标选中状态,按下鼠标状态和非使用状态,为了达到立体感的效果,需要使用到photoshop中的渐变色处理。CBitmapBtn按钮位图类的使用方法:首先将定义按钮对应的控件变量,然后将绘制的bitmap图片导入到工程中,调用CBitmapBtn按钮位图类的SetBitmap方法将按钮图片与按钮关联起来。源代码及详情请见博文:http://blog.csdn.net/chenlycly/archive/2010/09/05/5864367.aspx