程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 軟件框架的利器、TangramMini組件應用教程一:入門

軟件框架的利器、TangramMini組件應用教程一:入門

編輯:關於VC++

由於工作需要,使用了Tangram團隊開發的TangramMini組件。自認為對此組件了解得足夠深入,並且網上相關此產品的文檔不多,所以從今天開始寫幾篇TangramMini組件教程。

TangramMini組件是Tangram團隊從Tangram框架產品中演繹出來的迷你微型版本,在非商業產品中可以免費使用,認證後還可以做商業開發,功能強大,主要用於軟件產品框架設計、B/S與C/S無縫結合能及軟件快速二次開發等。TangramMini組件包內部提供兩個主要COM組件,一個為TangramMiniCtrl組件(此組件為ActiveX Control),主要功能是建立軟件框架,另一個為TangramMiniB2C組件,主要功能是完成B/S與C/S的無縫連接,並且此組件包含了輔助創建TangramMiniCtrl控件的功能。

在此可以得到TangramMini組件的安裝包下載(http://www.tangrammini.com)。下載組件安裝後,安裝包給我們提供了一個XTML Designer工具,這個工具可以以最快的速度設計出一個軟件框架,以及TangramMini組件的使用幫助文檔,以及相關的案例源碼,好了,安裝完了,我們就可以使用TangramMini組件了,開始我們的TangramMini組件應用之旅。

我計劃先介紹TangramMiniCtrl控件的使用,等後續高級教程中介紹TangramMiniB2C完成B/S與C/S相結合的應用。

在這一篇中我們先學習TangramMini的最簡單應用,完成一個對話框程序,並在上面利用TangramMini控件建立自己喜歡的框架。在這裡我將設計如下一個軟件框架:

一共分兩頁,其中第一頁分三塊,三塊分別由上圖1、2、3所示。第二頁先空白,當然,你也可以自己決定設計點什麼。

一、框架設計(設計XTML文件)

首先,我們啟動XTML Designer,新建一個空白文檔(選擇模板列表中的Normal模板,然後確定即可)。用鼠標右擊新建的文檔空白區域,出現快捷菜單,選擇“Tab Window Frame…”,出現“Create Tabbed Window”對話框,在Type中選擇“tangramexceltabwnd”之後在pagename與pagetitle中分別輸入名字與標題,然後單擊Insert按鈕,最後單擊“OK”按鈕,完成兩個主頁的建立,最後如下面兩圖所示:

兩個主頁面建立好之後,開始設計第一頁,在第一頁空白區域中右擊鼠標,在右擊菜單中選擇“Splitter Window Frame…”,在彈出的對話框中輸入1Rows和2Cols,然後確定,第一頁分成了左右兩個區域,這樣完成了第一頁中第一步的創建,然後右擊第一頁右邊的區域,重復上面的步驟,輸入2Rows和1Cols並完成確定,最終完成了框架的全部設計。如下圖所示。

選擇File菜單中Save功能,保存為一個xtml類型的文件,這個文件是一個框架界面的描述文件,其實我們可以用記事本打開此文件查看一下,這個xtml文件就是一個xml格式的文件,我們也可以用記事本修改此文件。假設我們當前把這個文件保存為d:\test.xtml文件,以後我們只要利用TangramMini組件包中的TangramMiniCtrl控件就可以在我們的軟件中重現此框架。

二、使用XTML框架文件

我們的目標是完成一個對話框程序,內部建立上面的框架,現在我們框架已經設計好了,現在開始編碼。啟動Microsoft Visual C++開發環境,在這裡我利用Microsoft Visual C++ 6.0開發此程序。我們首先新建一名為Tutorial1的對話框應用程序。啟動開發環境之後,用主菜單中的File->New,在New對話框,選擇Projects頁,然後選擇MFC AppWizard (exe),在Project name中輸入Tutorial1,然後單擊OK按鈕,在向導的第一頁選擇Dialog based(對話框)類型,然後單擊Finish完成對話框程序的創建。

向導生成完畢之後,打開資源中的主對話框,將上面我們不感興趣的對象刪除,在這裡我們將中間的靜態文本刪除,然後選擇主菜單中的Project -> Add To Project -> Components and Controls…菜單項,在打開的對話框中選擇Registered ActiveX Controls文件夾,在裡面選擇“TangramMiniCtrl Class”,然後單擊Insert按鈕完成,並在相關的對話框中都選擇確定完成組件類的生成,VC會剛生成的類自動添加到當前Tutorial1工程中,一般為CTangramMiniCtrl類與CTangramObjectInfo兩個類。此時在Controls工具條上除了基本的VC自帶的控件之外,多了一個TangramMiniCtrl Class控件,我們選擇此控件,並畫在主對話框上,然後編譯程序並運行,通過上面的步驟之後,程序最終運行效果如下:

其中上邊的對象即為TangramMiniCtrl組件。繼續我們的程序,打開ClassWizard…對話框(View -> ClassWizard…),給剛才添加的TangramMiniCtrl控件添加控制變量m_wndMiniCtrl,變量類型為CTangramMiniCtrl。打開主對話框類(CTutorial1Dlg)中的OnInitDialog()方法中加入此語句代碼:

m_wndMiniCtrl.LoadFile(_T("d:\\test.xtml"));

這裡加載的文件是剛才設計的框架文件。經過這一步之後,框架加載完成,最終效果如下:

好了,最簡單的使用,在對話框上建立一個框架就完成了,下一篇我將給大家介紹如何在創建的框架上安裝我們自己感興趣的對象。

關鍵:要加載一個XTML文檔,在這裡我們使用LoadFile(…)方法,也可以直接用LoadXML(…)方法,LoadFile加載一個文件,LoadXML是加載一個XTML文本字符串。

BOOL LoadFile(LPCTSTR strXtmlFile);
BOOL LoadXML(LPCTSTR strXML);

注:用LoadFile方法時,XTML文件可以指定為絕對路徑或者以應用程序的文件夾下的相對路徑,即:如果將test.xtml復制到與生成的exe文件為同一個文件夾下,我們可以用LoadFile(_T(“test.xtml”));就可以了,很方便使用。在這裡我將test.xtml復制到了debug文件夾,將源碼中改成了LoadFile(_T(“test.xtml”));。

PS:這裡的設計的test.xtml文件不要刪除,以後我將主要利用此文件。

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved