CIRCCOLL 属性サンプル:コレクションと列挙型を示します
CIRCCOLL 属性サンプルでは、ATL を使用してオブジェクトのコレクションまたは列挙体を実装する方法を示します。
CIRCCOLL サンプルは、このサンプルの属性なしバージョンです。
セキュリティに関するメモ |
---|
このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。 |
サンプルとそのインストール手順を取得するには
Visual Studio のサンプルにアクセスするには
[ヘルプ] メニューの [サンプル] をクリックします。
既定では、これらのサンプルは drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ にインストールされています。
サンプルのビルドと実行
このサンプルをビルドして実行するには
ソリューション ファイル circoll.sln を開きます。
From the Build menu, click Build Solution.
ソリューション エクスプローラーで、CircCollClient プロジェクトを右クリックし、[スタートアップ プロジェクトに設定] をクリックします。
メニューの [デバッグ、 の開始] をクリックします。
Visual Basic のフォーム Form1 が開きます。 ボタンをクリックしてアプリケーションをアクティブにします。
サンプルの動作
3 つのオブジェクト クラスが実装されます。コレクションの作成者、コレクション、およびオブジェクトがコレクション内。 コレクションの作成者だけが (Circcoll.idl coclass の宣言を参照) が関連付けられて、 coclass があります。 コレクションの作成者は、円オブジェクトのコレクションを返すメソッドを持っています。 VBA Itemと Count構文を使用してから、オブジェクトを操作できるように、 _NewItemFor...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
Keywords
このサンプルでは、次のキーワードを使用します。
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++ のウィザード、ライブラリ、およびコンパイラの変更が反映されていませんが、必要なタスクを実行する方法は示されています。