共用方式為


CIRCCOLL 屬性範例:示範集合/列舉型別

更新:2007 年 11 月

CIRCCOLL 屬性範例顯示如何使用 ATL 來實作物件的集合/列舉型別。

CIRCCOLL 範例是本範例的未使用屬性版本。

安全性注意事項:

這個程式碼範例僅供概念說明之用,同時因為範例中的程式碼撰寫並沒有周全的顧及所有安全性問題,所以本範例不適用於實際執行的應用程式或網站中。如果使用者擅自將範例程式碼用於其他意圖而導致連帶事件或重大損害時,Microsoft 將不承擔任何責任。

若要取得範例和指示以便進行安裝:

  • 按一下 Visual Studio [說明] 功能表上的 [範例]。

    如需詳細資訊,請參閱尋找範例檔案

  • 最新版的完整範例清單可從 Visual Studio 2008 範例網頁 (英文) 取得。

  • 您也可以將範例置於電腦硬碟中。根據預設,範例和讀我檔案都會複製到 \Program Files\Visual Studio 9.0\Samples\ 下的資料夾中。對於所有的 Visual Studio Express 版,所有範例都可在線上找到。

建置和執行範例

若要建置和執行這個範例

  1. 開啟 circoll.sln 方案檔。

  2. 在 [建置] 功能表中,按一下 [建置方案]。

  3. 在 [方案總管] 中,以滑鼠右鍵按一下 [CircCollClient] 專案,再選取 [設定為啟始專案]。

  4. 在 [偵錯] 功能表上,按一下 [啟動]。

  5. Visual Basic 表單 Form1 將會開啟。按一下按鈕來啟動應用程式。

範例如何操作

會實作三種物件類別,分別是:集合建立者、集合和集合內部的物件。只有集合建立者擁有與其產生關聯的 coclass (如需 coclass 宣告的詳細資訊,請參閱 Circcoll.idl)。集合建立者有一個傳回圓形物件集合的方法。集合物件會實作 ItemCount_NewItem 方法,因此物件可以從 Visual Basic 使用 For...Next 和 For Each... 語法來操作。

屬性

本範例使用下列屬性:

aggregatable, coclass, dual, emitidl, helpstring, id, in, module, noncreatable, object, out, pointer_default, progid, propget, propput, restricted, retval, support_error_info, threading, uuid, version

關鍵字

本範例使用下列關鍵字:

AddRef; ATLASSERT; ATLTRACE; BEGIN_COM_MAP; BEGIN_OBJECT_MAP; CComCoClass; CComObject::CreateInstance; CComObjectRoot; CComVariant; COM_INTERFACE_ENTRY; DECLARE_NOT_AGGREGATABLE; DECLARE_REGISTRY; END_COM_MAP; END_OBJECT_MAP; glBegin; glEnd; glNormal3d; glPolygonMode; glVertex2d; glVertex3d; IConnectionPointContainerImpl::FindConnectionPoint; IConnectionPointImpl::Advise; IDispatchImpl; ISupportErrorInfo; OBJECT_ENTRY; QueryInterface; Release; USES_CONVERSION; VariantCopy; VariantInit

注意事項:

部分範例 (包括本範例) 尚未經過改寫,無法反映出目前在 Visual C++ 精靈、程式庫以及編譯器方面的變更,不過還是可以示範如何完成您要進行的工作。

請參閱

其他資源

ATL 屬性範例