我有一个基于MFC向导的应用程序(CPropertySheet,CPropertyPage)是用vS2008创建的。我试图给我的应用程序,几乎完成了一个更现代的外观。我研究了CDHTMLDIalog,但它看起来有很多工作,而且文档记录得不是很好。接下来,我想我可以使用Feature Pack的一些功能。我发现了一个关于这个link text的帖子,但我已经将帖子中提到的代码添加到了我的应用程序的各个地方,但外观从未改变。
CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_Silver);CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOffice2007));CDockingManager::SetDockingMode(DT_SMART);RedrawWindow(NULL,NULL,RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_FRAME | RDW_ERASE);
我还将CPropertySheet替换为CMFCPropertySheet,将CPropertyPage替换为CMFCPropertyPage
谢谢..。
发布于 2009-10-23 22:20:54
定义“让我的应用程序看起来更现代”。我假设您在这里谈论的不是XP风格的公共控件,而是一种不同的向导布局。您希望在向导的顶部还是左侧显示标题/标题图形?查看m_psh.dwFlags中属性表的配置参数:PSH_WIZARD97, PSH_WATERMARK, PSH_HEADER,...
如果你在谈论使用现代Office风格的“皮肤”作为你的向导(Feature Pack风格),那你就大错特错了。对于使用Feature Pack的对话框,不能这样做。看看BCG Controls -它需要花钱,但它更新,而且你可以获得额外的功能。
如果它是你想要的完全不同的东西,请发布它应该是什么样子的样机,和/或它现在的样子和你不喜欢的地方的屏幕截图。
发布于 2009-10-19 13:31:18
你应该有:
主程序文件中的
CWinApp替换为CWinAppEx;#pragma项)InitInstance()方法开头的以下代码(此代码应已添加到新建项目向导中)://如果应用程序//清单指定使用ComCtl32.dll版本6或更高版本来启用//视觉样式,则在Windows XP上需要// InitCommonControlsEx()。否则,任何窗口创建都将失败。INITCOMMONCONTROLSEX InitCtrls;InitCtrls.dwSize = sizeof(InitCtrls);//将其设置为包含要在应用程序中//使用的所有公共控件类。InitCommonControlsEx(&InitCtrls);;InitCtrls.dwICC =ICC_WIN95_CLASSES
https://stackoverflow.com/questions/1584981
复制相似问题