TangramLite框架及其应用开发指南

TangramLite是一个基于MFC/ATL的开源软件开发框架,它将软件系统分为三个层次:应用程序、主框架、文档/视图。每个层次都是自包含的,以实现代码的最大重用。主框架和文档/视图可以在运行于Windows操作系统的多种语言中使用,如VC、VB等。通过使用COM,将这三个层次组织成一个系统。

TangramLite特别关注文档,因为文档携带业务数据并存储数据以确定用户界面行为。应用程序的执行文件只是系统的入口,它通过配置文件选择一个主框架。主框架通过读取特定目录中的XML文件来添加文档模板。

安装TangramLite

首先,需要下载安装文件:

安装步骤如下:

  1. 运行安装程序,将TangramLite安装到磁盘上。
  2. 配置VS2005环境(C++): Include: X:\Program Files\TangramLite\TangramLiteLib\include Lib: X:\Program Files\TangramLite\TangramLiteLib\lib Src: X:\Program Files\TangramLite\TangramLiteLib\src
  3. 运行示例: 启动IE,点击“查看”菜单项,然后选择“资源管理器栏”菜单项。将看到带有“tangramlite”前缀的菜单项。

如何实现DeskBand?

使用向导创建一个DeskBand项目,确保在“查看”菜单项中列出的类型与创建的类型相匹配。如果explorer.exe进程在当前Windows会话中访问了菜单,需要注销并重新登录或结束explorer.exe进程。

使用现有文档配置DeskBand: 准备了一些由tangramlite应用程序创建的文档。安装tangramlite时,这些文档会被复制到磁盘上。可以使用这些文档来配置新的DeskBar。

在“OS:\Program Files\TangramUniverseDocument”目录下有一个名为“MyIEBand”的目录。将“OS:\Program Files\TangramUniverseDocument\TangramLiteExplorerBarD\VBand”复制到“OS:\Program Files\TangramUniverseDocument\MyIEBand”。这样,“MyIEBand VBand”将在下次启动IE时加载文档。

使用tangramlite应用程序更改文档行为: 如果在文档中存储了数据,可以使用应用程序更改数据。这里没有存储示例中的数据,但存储了布局。因此,使用安装的tangramlite应用程序更改布局。运行“开始菜单->tangramlite->tangramlite1(debug)”,这是一个使用tangramlite应用程序向导创建的应用程序。打开“TangramLiteVFormD1.Tangram”,更改分隔符并存储文档。重新启动IE实例,将看到更改。

如何实现文档?

现在有了自己的DeskBand,但使用了准备好的文档。可能需要自己的文档来处理业务。让告诉如何操作。

启动VS2005,使用TangramLite ComDocument创建一个项目: 编辑“MyDocumentDoc.h”,添加一个CString类型的成员: CString m_strHello; 在构造函数中初始化strHello: m_strHello = _T("Hello, This is My Document!"); 在视图中显示CString: void CMyDocumentView::OnDraw(CDC* pDC) { CMyDocumentDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here pDC->TextOut(0, 0, pDoc->m_strHello); } 构建解决方案,就创建了自己的文档类型组件。

如何配置文档类型?

现在有了一个新文档类型,应该使用这个文档类型创建一个文档。已经安装了tangramlite应用程序,可以使用这些应用程序来做这件事。在“OS:\Program Files\TangramUniverseDocument\Tangram Team\TangramLiteD\TangramLiteMainFrameD\Document Template”创建了一个名为“MyDocument.xml”的XML文件,以便tangramlite应用程序可以加载文档模板组件。编辑文件: <?xml version="1.0" encoding="utf-8" ?> <Tangram DocViewID="MyDocument.DocTemplate.1" DocObjID = "" ExtDocObjID = ""> </Tangram>

为DeskBand创建文档

运行“开始菜单->tangramlite->tangramlite1(debug)”为DeskBand创建一个文档。基于MyDocument模板创建一个文件: 将文档保存到“OS:\Program Files\TangramUniverseDocument\MyIEBand\Hband”作为“MyDocument1.Tangram”。

配置DeskBand

在“OS:\Program Files\TangramUniverseDocument\MyIEBand\Hband”创建一个名为“TangramHBar”的XML文件。当Hbar加载时,它将在特定目录中迭代XML文件。编辑XML文件以指定DeskBand的文档模板: <?xml version="1.0" encoding="utf-8" ?> <Tangram BandFile="MyDocument1.Tangram" TabCaption = "MyDocument1" IconFile = "vbasdk.ico"> </Tangram> 然后重新启动IE实例,将看到更改。

如何创建主框架项目?

现在已经能够扩展IE。可能会发现在创建文档时,它依赖于现有的主框架来加载模板。将告诉如何创建自己的主框架。

启动VS2005,使用TangramLite ComMainFrame创建一个项目: 构建解决方案,就创建了自己的主框架组件。

配置应用程序以加载主框架

应该修改应用程序配置以指定要加载的主框架。编辑文件“OS:\Program Files\TangramLite\debug\ TangramLiteD.exe.config”,修改: <Tangram MainAppType = "com" MainAssemblyLib = "TangramLiteMainFrameD" MainAssemblyCategory= "TangramLiteMainFrameD" MainFrameAssembly = "TangramLiteMainFrameD.Application.1" ExternalAppAssembly = "" VBAComponent= "" DotNetComponent = "" WorkSpaceGUID = "{9905F281-9C5D-440b-89AF-EE61D3FA548A}"> </Tangram> <Tangram MainAppType = "com" MainAssemblyLib = "MyMainFrame" MainAssemblyCategory= "MyMainFrame" MainFrameAssembly = "MyMainFrame.Application.1" ExternalAppAssembly = "" VBAComponent= "" DotNetComponent = "" WorkSpaceGUID = "{9905F281-9C5D-440b-89AF-EE61D3FA548A}"> </Tangram>

运行“开始菜单->tangramlite->tangramlite1(debug)”,可以看到应用程序加载了创建的主框架。

使用向导创建应用程序项目

让进行最后一步以完成tangramlite教程——创建tangramlite应用程序。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485