|
许多软件,都存在主框架,子框架,下拉菜单,工具条等窗口和控件。每个软件似乎都要重写这些代码,好多的时间都在干着重复性工作。如果能把这些常用的控件封装在一个单独的文件中并形成应用程序框架,让两个以上的软件调用和共享该多好啊。
Microsoft Office Word 2003和Microsoft Office Excel 2003应用程序,主框架、菜单风格,工具条风格和关于对话框。这段代码不可能存在两个应用程序中,而是放在某一个文件中,供Microsoft Office 中的应用程序调用,从而实现代码共享。并且支持二次开发,支持宏功能,第三方应用程序自由地向Microsoft Office 应用程序中添加工具条和菜单项来扩展它们的功能。
我们暂时把Microsoft Office 使用的应用框架命名为《Microsoft Office 应用程序框架》(MSOFrame),它的实现似乎是存放在C:\Program Files\Common Files\Microsoft Shared\Office10\mso.dll文件中。Mso.dll也会随着Microsoft Office 版本升级变大,从8MB,9MB到 Microsoft Office 2003的11MB。同时文件夹也会变为 …\Microsoft Shared\Office11\mso.dll。
每一位熟悉Microsoft Office产品的人可能都注意到了。微软公司每一次对Office 的升级会加入新的组件,他们的框架风格却是相同。像Office 2003中新加入的,Office InfoPath 和Office Publisher。
MSOFrame十分友好的设计,也被Microsoft Visual Studio 开发小组加强并引入到Microsoft Visual Studio产品中。这个框架更加疯狂,也许更接近一种追求。这个应用程序框架我们暂时命名“vsFrame”。
从Microsoft Visual Studio .NET 2001 版到 Microsoft Visual Studio 2005,从MSDN Library for Visual Studio .NET 2002 版到MSDN Library for Visual Studio .NET 2005,可以说使用同一个应用程序框架。主窗口的统一窗口类名是“wndclass_desked_gsk”。
下面这幅图是Microsoft Visual Studio 与 vsFrame的调用关系想象图。

使用Microsoft Visual Studio .net 2002以上版本,你应该非常清晰地记得,MSDN Library中的Contents 、Index、Search 面板,可以嵌入到Microsoft Visual Studio IDE的左侧或者是右侧,而MSDN 的帮助内容是以子窗口方式显示。
对vsFrame来说,它就是桌子的桌面,我们可以把茶壶和茶碗或者是其它物品放在上面,也可以把桌面上拿走。
这就是我想用COM技术去开发应用程序框架的一些零碎的想法。
于是我就动手写《SoftG 应用程序框架》试验性的程序,功能非常的简单,支持菜单、子窗口和命令的处理,没有别的其它功能,而且菜单也不能变灰。
经过两个测试程序测试后,给我的答案是:用COM技术编写应用程序框架是完全可行的。
Website: http://www.softg.net |