我已经使用WPF一段时间了,现在正在尝试复制办公套件中一些漂亮的UI特性。虽然在WPF中非常容易实现,但我想知道如何使用MFC功能包来实现(因为我的公司尚未批准使用WPF)。由于流畅用户界面是在Office 2007中引入的,我想知道Microsoft是否除了VS2010或Expression Blend之外还在其他地方使用WPF,特别是在Office 2010中。
我已经使用WPF一段时间了,现在正在尝试复制办公套件中一些漂亮的UI特性。虽然在WPF中非常容易实现,但我想知道如何使用MFC功能包来实现(因为我的公司尚未批准使用WPF)。由于流畅用户界面是在Office 2007中引入的,我想知道Microsoft是否除了VS2010或Expression Blend之外还在其他地方使用WPF,特别是在Office 2010中。
Office 2010不使用WPF,也不使用MFC。事实上,Office一直使用自定义UI工具包,即使在Ribbon出现之前也是如此。然而,只需要一个主要的第一方应用程序来确保WPF作为UI平台的可行性。特别是当这个应用程序恰好是Visual Studio时,因为成千上万的Microsoft员工每天都在使用它。
但这并不意味着WPF是与Ribbon一起使用的最佳UI技术。Microsoft WPF Ribbon处理了许多边角情况不正确,所有我测试过的主要商业托管代码Ribbons(无论是WPF还是Winforms)都是如此。很难复制Office Ribbon——有许多微妙之处是难以预料的,并且只有当用户遇到边缘情况时才会出现。
Office Ribbon花费了200多年的工作时间,并由数万名Beta测试人员使用。(Jensen Harris估计在UX09中,办公室UI团队有大约15个PM,30个开发人员,30个测试人员,以及半打设计师和UI研究人员。)它是目前最好测试的Ribbon框架,但不幸的是,开发人员在Microsoft之外不能使用它。
第二可靠的Ribbon框架可能是Windows 7 Ribbon,它被Paint和WordPad使用。这个框架可以在Windows 7 SDK中找到,并已经回溯到了Vista。使用Native code和GDI,因此面向C++开发人员。请注意,它也没有与MFC绑定。
你应该知道,WPF(与.NET框架一起)只是win32和com(direct2d等)的一层封装,所有这些都可以从普通的C++中访问,更不用说MFC了。他们早在2007年就已经用C++编写了所有的功能区代码,所以制作2010界面并不难。
回答你认为自己在问的问题,不,Office没有使用WPF。只有Visual Studio使用它。
WM_PAINT
上渲染的。我还是不明白你的观点是什么。 - Blindy