VC++ BCGControlBar中新建对话框无法完全应用应用程序的样式(例如:Office 2007)

开放环境为:VC6 BCGControlBar V12

 

程序的界面如下:

  1. 在VC中创建一个对话框资源IDD_DIALOG_TEST,所有属性均默认。
  2. 使用ClassWizard创建对应的类文件DialogTest.h & DialogTest.cpp
  3. 修改DialogTest.h中类继承,替换class CDialogTest : public CDialogclass CDialogTest : public CBCGPDialog
  4. 修改DialogTest.cpp中的构造函数,替换CDialogTest::CDialogTest(CWnd* pParent /*=NULL*/) : CDialog(CDialogTest::IDD, pParent)CDialogTest::CDialogTest(CWnd* pParent /*=NULL*/) : CBCGPDialog(CDialogTest::IDD, pParent)
  5. CDialogTestWM_INITDIALOG消息处理函数中添加代码:EnableVisualManagerStyle(TRUE,TRUE);
  6. 创建主对话框中的Test按钮的鼠标单击消息的处理函数 CTestDialog dlg;  dlg.DoModal();
  7. 运行程序,点击Test按钮,出现的对话框如下:(只有按钮的样式应用了样式)

查了半天结果发现在DiaglogTest.cpp中有一行代码没有改,必须将BEGIN_MESSAGE_MAP(CDialogTest, CDialog)替换为BEGIN_MESSAGE_MAP(CDialogTest, CBCGPDialog),在运行程序后完美显示Office2007 样式

你可能感兴趣的:(Windows)