【问题标题】:How was the gui for Visual Studio 2012 achieved and how can we make similar looking applicationsVisual Studio 2012 的 gui 是如何实现的,我们如何制作外观相似的应用程序
【发布时间】:2012-12-14 15:11:48
【问题描述】:

Visual Studio 2012,在 windows 8 下的桌面模式下运行。不共享其他 windows 8 桌面应用程序的外观。

这个 GUI 是如何实现的?

Microsoft 是否完全废弃了 MFC/Winapi(因为它如此不同)并使用 Direct2d 来创建自定义 gui?或者,他们是否只是调用 Winapi 来自定义它的外观?

我们开发者有什么捷径可以在我们的应用中实现vs2012主题吗?使用 MFC 应用程序模板向导,我们可以从许多主题中进行选择,但没有可用的 vs2012。

【问题讨论】:

标签: windows winapi visual-c++ mfc visual-studio-2012


【解决方案1】:

事实上,Visual Studio 2010/2012 利用了 WPF。

利用 WPF

WPF 使用 DirectX。 WPF 尝试为构建应用程序提供一致的编程模型,并提供用户界面和业务逻辑之间的分离。 WPF 利用 XAML,它是一种声明性标记语言。 XAML 代表可扩展应用程序标记语言,它基于 XML。 XAML 被设计为一种更有效的应用程序用户界面开发方法

关于多文档窗口和浮动工具窗口

Visual Studio 被编写为支持多个文档窗口和浮动工具窗口。

有很多优秀的图书馆可供使用

Codeplex 提供了一个库来为多个文档窗口建模。 http://wpfmdi.codeplex.com/

您还可以利用一个对接库: http://avalondock.codeplex.com/

MEF 被大量使用

使用托管可扩展性框架 (MEF) 重新设计了内部结构。

MEF 允许应用程序开发人员发现和使用扩展,而不会弄乱配置文件。

MEF 允许您轻松封装代码并避免脆弱的硬依赖。

这允许开发人员创建插件来修改 IDE 的行为。

设计目标

在 Visual Studio 2012 中,一个变化是界面使用了全大写菜单栏。

一些设计目标包括通过移除 UX 中过多的线条和渐变来减少混乱和视觉复杂性。

通过删除过时的 3D 斜面,UI 已现代化。

【讨论】:

    【解决方案2】:

    您可以使用 Visual Studio 附带的 Spy++ 并检查应用程序的窗口/类名称。如果你用 VS 2008 做的话,很明显它是 MFC。如果您使用 VS 2010 及更高版本执行此操作,您会发现这都是 WPF 的东西——不涉及 MFC。

    【讨论】:

    • 您是否知道使用 mfc/win32 或一般只使用 c++ 轻松匹配主题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2011-06-05
    相关资源
    最近更新 更多