TangramLite是一个基于MFC/ATL的开源软件开发框架,它将软件系统分为三个层次:应用程序、主框架、文档/视图。每个层次都是自包含的,以实现代码的最大重用。主框架和文档/视图可以在运行于Windows操作系统的多种语言中使用,如VC、VB等。通过使用COM,将这三个层次组织成一个系统。
TangramLite特别关注文档,因为文档携带业务数据并存储数据以确定用户界面行为。应用程序的执行文件只是系统的入口,它通过配置文件选择一个主框架。主框架通过读取特定目录中的XML文件来添加文档模板。
首先,需要下载安装文件:
安装步骤如下:
Include: X:\Program Files\TangramLite\TangramLiteLib\include
Lib: X:\Program Files\TangramLite\TangramLiteLib\lib
Src: X:\Program Files\TangramLite\TangramLiteLib\src
使用向导创建一个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>
运行“开始菜单->tangramlite->tangramlite1(debug)”为DeskBand创建一个文档。基于MyDocument模板创建一个文件: 将文档保存到“OS:\Program Files\TangramUniverseDocument\MyIEBand\Hband”作为“MyDocument1.Tangram”。
在“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应用程序。