Tangram自由版本发布
下载地址: http://www.webaddin.com/down/TangramMiniCtrl.zip
Tangram自由版本是一个基于Tangram技术的ActiveX Control,我们将之称之为“迷你”Tangram控件(TangramMini Ctrl)。TangramMini只能用于非盈利目的,也就是说,开发者只能将其用于自由软件的开发。
TangramMini能够解决什么问题?一个灵活的软件架构是开发者经常面对的问题,尽管.NET开发具备足够人性化特征,但面对复杂度很大的软件架构,现在的开发工具似乎还缺乏灵活性,至少,类似Eclipse形式的软件架构对普通开发者而言还是一种“奢侈品”。TangramMini试图在一个自然的方式下为COM/.NET开发者提供一种灵活的软件架构方案,使用这个控件,开发者可以开发架构灵活的应用软件,适用于基于COM或.NET开发的各类开发者。
以Visual Basic 6.0为例,
对大多数今天的VB开发者而言,开发如上所示的软件还是有相当大的难度,TangramMini的出发点是将如上软件所体现的“复杂度”进行一次性的“抽象”,使得问题尽可能用统一的方式一致的解决。从这个角度看,TangramMini是一个“超级控件”,其内蕴的规则可以繁衍出任意多种软件架构形态。做个通俗的类比,TangramMini好比一个“万能”的组合框架,一旦形成一个具体的框架,开发者就可以将自己的“原器件”根据设想放置到所形成的架构之上。
我们提供了七个例子用来展示TangramMini的使用方法,其中VC6.0有3个例子,VB6.0有两个例子,VB.Net一个例子,C++/CLI有一个例子。这个控件包含如下方法/属性:
方法: BOOL LoadFile(BSTR strXtmlFile)
说明:
加载本地XTML
文件.
参数: strXtmlFile:XTML
文件名.
返回: True
成功,False
失败.
方法: VOID SetWnd(BSTR strObjName, LONG hHostWnd)
说明:
将指定的hHostWnd
句柄定位到指定的Tangram
对象节点位置上.
参数: strObjName: Tangram
节点对象名称.
hHostWnd:
当前有效句柄.
返回:
无
方法: BOOL Save()
说明:
保存当前XTML
文件.
参数:
无
返回: True
保存成功,False
保存失败.
方法: BOOL SetCaption(BSTR strObjName,BSTR strCaption)
说明:
设置指定名称的Tangram
节点对象的标题.
参数: strObjName: Tangram
节点对象名称.
返回: True
设置成功,False
设置失败.
方法: BOOL SetActive(BSTR strObjName)
说明:
激活指定名称的Tangram
节点对象,
使其Tangram
节点对象前端显示.
参数: strObjName: Tangram
节点对象名称.
返回: True
成功,False
失败.
方法: BOOL SetMDIClient(BSTR strObjName, LONG nMDIHandle, LONG nMDIStyle)
说明:
将指定名称的Tangram
节点对象设置为MDI
客户区.
参数: strObjName: Tangram
节点对象名称.
nMDIHandle: MDI
客户区句柄,
为0
时控件自动匹配MDI
客户区.
nMDIStyle:
指定MDI
客户区风格,
值为-1,0,1,2,3
之一.
返回: True
设置成功,False
设置失败.
TangramMini建立在XML技术基础之上,我们提供了若干XML描述文件,更多的UI描述陆续发布在Tangram的官方网站之上。
TangramMini的最灵活的一点是允许用户自由的组织他所感兴趣的组件对象,例如,如果你有20个Form对象,TangramMini会使得这20个Form组织得十分紧凑、有序、合理,如同组织你的书架一样方便。对基于Microsoft平台的各种开发环境,TangramMini尽可能提供一致的工作方式,如果你计划开发一个具有平台性质的软件框架,TangramMini是一个不错的选择。
TangramMini.dll只有596k,是一个轻灵、绿色的引擎性质的面向软件框架的控件。
(VC6下使用TangramMini)
(.NET下使用TangramMini)