次の方法で共有


アクティベーション : 動詞

更新 : 2007 年 11 月

ここでは、OLE アクティベーションにおいて主動詞と副動詞が果たす役割について説明します。

埋め込みアイテムをダブルクリックすると、通常はそのアイテムが編集できる状態になります。しかし、アイテムの種類によっては反応が異なります。たとえば、サウンド レコーダー アプリケーションで作成したアイテムをダブルクリックすると、サーバー ウィンドウは開かず、サウンドが再生されます。

このように動作が違うのは、サウンド レコーダー アイテムの "主動詞" の設定が通常のアイテムと異なるからです。主動詞とは、ユーザーが OLE アイテムをダブルクリックしたときの動作です。ほとんどの OLE アイテムでは、主動詞は "Edit" に設定されています。Edit は、そのアイテムを作成するときに使ったサーバーを起動します。これに対してサウンド レコーダーなどのアイテムでは、主動詞として "Play" が設定されています。

多くの OLE アイテムでは、1 つの動詞 (通常は Edit) しかサポートされていません。しかし、複数の動詞を持つアイテムもあります。たとえば、サウンド レコーダー アイテムは副動詞として Edit をサポートしています。

これ以外によく使用される動詞として "Open" があります。Open の動作は Edit とほぼ同じですが、Open はサーバー アプリケーションを独立したウィンドウとして起動します。Open は、コンテナ アプリケーションまたはサーバー アプリケーションのいずれかが埋め込み先編集の有効化をサポートしていない場合に使用されます。

主動詞以外の動詞は、アイテムが選択されているときにサブメニューのコマンドで呼び出します。このサブメニューにはアイテムがサポートするすべての動詞があり、通常は [編集] メニューの [typename クラスのオブジェクト] コマンドでアクセスします。[typename クラスのオブジェクト] コマンドの詳細については、「メニューとリソース : コンテナの変更点」を参照してください。

サーバー アプリケーションがサポートする動詞は、Windows 登録データベースに登録します。MFC (Microsoft Foundation Class) ライブラリを使って作成されたサーバー アプリケーションでは、サーバー起動時に全動詞が自動的に登録されます。MFC を使わずに作成されたサーバーでは、サーバー アプリケーションの初期化処理の中で登録する必要があります。詳細については、「登録」を参照してください。

参照

概念

アクティベーション (C++)

コンテナ

サーバー