今天写程序的时候发现一个问题,主框架用了一个界面(feature pack)是2007 style的,但是在里面在写对话框的时候就是XP style了。于是在网上搜了下,大概情况如下:
1、用SDI formview去模拟对话框;http://blog.csdn.net/akof1314/article/details/5714050
2、通过用框架类来实现对话框; http://blog.csdn.net/akof1314/article/details/8102685
3、第三方空间,如BCG;http://blog.csdn.net/pdckxd/article/details/6224656
前两种方法是实现了,但是不一定可靠。看来只能靠控件了,可惜也没有啊。。。
另外转一篇文章:实现2007 style的VC按钮。
http://heiness.blog.163.com/blog/static/346304402012328482676/
----------------------------------------------------------------------------------------------
vc 按钮风格 office2007
实现该功能在codejock software平台下完成。
步骤:
1.首先在.rs2的文件下添加:
#include "Styles\Office2007\Office2007.rc"
2.button 的名称为IDC_BUTTON1,并为之声明一个变量:CXTPButton m_button1。
3.在初始化对话框函数里面添加:
SendMessageToDescendants(WM_XTP_SETCONTROLTHEME, 6);
RedrawWindow(0, 0, RDW_ALLCHILDREN|RDW_INVALIDATE|RDW_ERASE);
4.Ok。
附:
SendMessageToDescendants(WM_XTP_SETCONTROLTHEME, 6);
里面的6代表office2007风格;5代表office2003风格;4代表xp风格,该值还可以为3, 2,1,0。