Tangram自由版本發布:http://www.webaddin.com/down/TangramMiniCtrl.zipTangram自由版本是一個基於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)我們會儘快公布,現在有興趣的朋友可以通過msn:sunhuizlz@hotmail.com或郵件:sunhuizlz@yeah.net與我聯絡。