VARCHART XGantt_v5.1用戶手冊:如何在Visual Studio 6.0或7.0中插入VARCHART ActiveX
VARCHART XGantt是一個交互式的甘特圖控件,其模塊化的設計讓您可以創(chuàng)建滿足您和您的客戶所需求的應用程序。(我們領先的甘特圖控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET應用程序。)VARCHART XGantt可以快速、簡單地集成到您的應用程序中,幫助您識別性能瓶頸、避免延遲以及高效利用資源,使復雜數據變得更加容易理解。
本篇文章主要介紹VARCHART XGantt_v5.1用戶手冊中的內容——如何在在Visual Studio 6.0或7.0中插入VARCHART ActiveX,接下來就是具體的操作步驟了~
要在MFC項目中插入VARCHART ActiveX控件,請按以下步驟操作:
Visual Studio 6.0:
在“項目”菜單中,選擇“添加到項目...”項,然后選擇“子項目組件和控件”。在出現的對話框中,從已注冊的控件中選擇NETRONIC VARCHART ActiveX,然后單擊“插入”按鈕。控制問題后出現一個對話框。在列表框中,取消選擇向導創(chuàng)建的除第一個類之外的所有MFC包裝(這是不可能的)。單擊“確定”按鈕。然后單擊“關閉”按鈕以關閉對話框。
Visual Studio 7.0:
在對話框資源的上下文菜單中,選擇“插入ActiveX控件...”項,然后將選定的ActiveX控件傳輸到對話框中。然后通過上下文菜單(菜單項Insert Variable ...)手動或在向導的幫助下,在DoDataExchange方法中創(chuàng)建實例變量和DDX_CONTROL條目。在后一種情況下,還將自動創(chuàng)建MFC包裝器。或者,您可以在ClassView中創(chuàng)建MFC包裝器(包括子對象的包裝器),但這樣會丟失Enum定義。
因此,這兩種開發(fā)環(huán)境都提供了自動創(chuàng)建MFC包裝器。在這些包裝器的幫助下,您可以像使用普通MFC對象一樣使用ActiveX控件的方法和屬性。如果沒有包裝器,您將不得不更深入地研究OLE約定。但是,創(chuàng)建的包裝器并不令人滿意:
自動生成的文件不包含Enum定義(僅限Visual Studio 6.0)。
所有子類都存儲在單獨的文件中。這使得無法同時使用不同的VARCHART ActiveX控件(Visual Studio 6.0)。在Visual Studio 7.0中,不生成子類;因此它們根本無法使用。
對于控件的API更新,只能間接地更新包裝器。此外,Visual Studio 7.0使用與舊版本不同的名稱約定。這將使舊項目的更改成為必要(新名稱前綴:get_和set_而不是get和set)。
如果要在一個項目中使用多個VARCHART ActiveX控件,則會發(fā)生與子對象的名稱沖突。
因此,NETRONIC Software GmbH提供了一對自己的MFC包裝文件:xgantt.h和xgantt.cpp。此文件存儲在VARCHART ActiveX控件的安裝目錄的子目錄MFC中。它包含所有包裝器和有用的Enum定義。
所有定義都已放入命名空間中,以便您可以在一個項目中使用多個VARCHART ActiveX控件,而不會出現子對象的名稱沖突。
從項目中刪除自動創(chuàng)建的包裝器,將cpp文件添加到項目中,然后將頭文件導入對話框類。
如果在類中只使用一個控件,則下面的代碼行就足夠了:
示例代碼
#include "xgantt.h" using namespace XGantt;
如果在一個類中使用多個VARCHART ActiveX控件,則必須將命名空間放在至少兩個控件(例如CVcNode或CVcTitle)中出現的每個子對象的前面。以下示例演示了標題對象的變量聲明:
示例代碼
XGantt::CVcTitle title = VcGantt1.GetTitle();
在事件過程而不是對象中,只傳遞LPDISPATCH指針。這些指針可以通過對象的相應的Attach方法連接到對象。然后您不應該忘記在對象使用結束時輸入Detach()。
如果您已使用生成的文件進行項目,更改應該不難,因為NETRONIC使用Visual Studio 6.0生成的文件作為基礎,它們應該是兼容的。唯一的區(qū)別是使用命名空間來使子對象的名稱更清晰。
想要購買VARCHART XGantt正版授權,或了解更多產品信息請點擊
掃描關注慧聚IT微信公眾號,及時獲取最新動態(tài)及最新資訊