ATLFire サンプル : ウィンドウ付きコントロールのビルド例
更新 : 2007 年 11 月
ATLFire サンプルは、m_bWindowedOnly フラグを TRUE に設定し、ATL を使用してウィンドウ付きコントロールをビルドする方法を示す ActiveX コントロールです。また、MFC 描画コードを直接 Win32 コードに変換するために必要な処理も示します。このサンプルでは、Win32 ダイアログ ボックスおよびプロパティ シートに対する ATL サポートを使用し、ActiveX コントロールでの Win32 タブ コントロールの使い方を示します。さらに、いくつかの ATL マクロについても示します。
ATLFire 属性サンプルは、このサンプルの属性付きバージョンです。
セキュリティに関するメモ : |
---|
このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないので、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。 |
サンプルとそのインストール手順を取得するには
Visual Studio で、[ヘルプ] メニューの [サンプル] をクリックします。
詳細については、「サンプル ファイルの格納場所」を参照してください。
使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。
サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\Program Files\Visual Studio 9.0\Samples\ の下のフォルダにコピーされます。Visual Studio Express Edition の場合、すべてのサンプルはオンライン上にあります。
サンプルのビルドと実行
このサンプルをビルドして実行するには
ソリューション ファイル ATLFire.sln を開きます。
[ビルド] メニューの [ビルド] をクリックします。
サンプルのビルド後に Web ブラウザで FireTabCtrl.htm を開き、サンプルでシミュレートするさまざまな種類の処理の発生を試します。
ActiveX コントロール テスト コンテナで ATLFire コントロールをテストできます。テスト コンテナにアクセスしてコントロールをテストする方法の詳細については、「テスト コンテナでのプロパティとイベントのテスト」を参照してください。
クラスとキーワード
このサンプルでは、次の ATL クラスを使用します。
CComObjectRootEx、CComCoClass、CComControl、IDispatchImpl、IProvideClassInfo2Impl、IPersistStreamInitImpl、IPersistStorageImpl、IPersistPropertyBagImpl、IPerPropertyBrowsingImpl、IQuickActivateImpl、IObjectSafetyImpl、IOleControlImpl、IOleObjectImpl、IOleInPlaceActiveObjectImpl、IViewObjectExImpl、IOleInPlaceObjectWindowlessImpl、IDataObjectImpl、ISupportErrorInfo、ISpecifyPropertyPagesImpl、IConnectionPointContainerImpl、IPropertyNotifySinkCP、CDialogImpl
このサンプルでは、次のキーワードを使用します。
_ASSERTE; _itot; _tcstol; ALT_MSG_MAP; Apply; ATLTRACE; BEGIN_COM_MAP; BEGIN_CONNECTION_POINT_MAP; BEGIN_MSG_MAP; BEGIN_OBJECT_MAP; BEGIN_PROPERTY_MAP; CComCoClass; CComModule::GetClassObject; CComModule::GetLockCount; CComModule::Init; CComModule::RegisterServer; CComModule::Term; CComModule::UnregisterServer; CComObjectRootEx; CDialogImpl; ClientToScreen; COM_INTERFACE_ENTRY; COM_INTERFACE_ENTRY_IMPL; COM_INTERFACE_ENTRY_IMPL_IID; COMMAND_HANDLER; COMMAND_ID_HANDLER; CONNECTION_POINT_ENTRY; CPropDlg::DoModal; CreateBitmap; CreatePalette; DECLARE_REGISTRY_RESOURCEID; DeleteDC; DeleteObject; DestroyMenu; DisableThreadLibraryCalls; EnableWindow; END_COM_MAP; END_CONNECTION_POINT_MAP; END_MSG_MAP; END_OBJECT_MAP; END_PROPERTY_MAP; EndDialog; FillRect; FireOnChanged; GetActiveWindow; GetClientRect; GetDlgItem; GetDlgItemText; GetModuleInstance; GetWindowRect; IConnectionPointContainerImpl; IDataObjectImpl; IDispatchImpl; InitFire; InlineIsEqualGUID; IObjectSafetyImpl; IOleControlImpl; IOleInPlaceActiveObjectImpl; IOleInPlaceObjectWindowlessImpl; IOleObjectImpl; IPersistPropertyBagImpl; IPersistStorageImpl; IPersistStreamInitImpl; IPropertyNotifySinkCP; IProvideClassInfo2Impl; IQuickActivateImpl; ISpecifyPropertyPagesImpl; ISupportErrorInfo; IViewObjectExImpl; memcpy; MESSAGE_HANDLER; MessageBox; NOTIFY_CODE_HANDLER; OBJECT_ENTRY; OnActivate; OnApply; OnCancel; OnCreate; OnDestroy; OnEraseBackground; OnInitDialog; OnOK; OnPaint; OnPaletteChanged; OnProperties; OnPropertyChanged; OnQueryNewPalette; OnRButtonDown; OnSelChanged; OnSelChanging; OnSize; OnTimer; PAINTSTRUCT ; PeekMessage; PROP_ENTRY; RealizePalette; SelectObject; SendMessage; SetTimer; SetWindowPos; TrackPopupMenuEx; UnregisterClass