次の方法で共有


コントロールのプロパティ

ActiveX コントロール テクノロジには、コントロール自体によって定義および実装されるプロパティに加えて、以下も含まれます。

アンビエント プロパティの

これらは、コンテナーに埋め込まれているすべてのコントロールに適用される環境値を提供するために、コントロール クライアント サイトを介してコンテナーによって公開されます。 たとえば、コンテナーでは、コントロールで使用できる既定の背景色または既定のフォントを指定できます。 アンビエント プロパティは、コンテナーのサイト オブジェクトに実装 IDispatch によって公開されます。 コンテナーは、アンビエント プロパティのいずれかが値を変更したときに、コントロールの IOleControl::OnAmbientPropertyChange メソッドを呼び出します。 これに対して、コントロールは、応答で独自の内部状態またはビジュアル状態を更新する必要がある場合があります。 コンテナーは、DISPID パラメーターで変更されたアンビエント プロパティを示すか、複数のアンビエント プロパティが変更されたことを示すDISPID_UNKNOWNを渡すことができます。

拡張プロパティの

これらは実際にはコンテナーによって実装され、コンテナーに含まれるコントロールをラップして、ネイティブ コントロールプロパティのように表示されるコンテナー管理プロパティを提供します。 コンテナーはコントロールを集計し、拡張プロパティを追加してコントロールのプロパティを補完またはオーバーライドできます。 集計されたオブジェクトは、拡張コントロールと呼ばれます。 コンテナーでは、拡張コントロールはコントロール自体として表示され、拡張プロパティはコントロールによって公開されているように見えます。 コンテナーは、IOleControlSite::GetExtendedControlクライアント サイト メソッドを使用して拡張コントロールをサポートします。 GetExtendedControl メソッドを使用すると、コンテナーがこの機能をサポートしている場合、コントロールは、コンテナーによって提供される拡張コントロール オブジェクトにサイト内を移動できます。 コンテナーは、コントロールが通常 ISpecifyPropertyPagesを通じて通常指定するページに加えて、拡張コントロールのプロパティ ページ表示することもできます。 このため、コントロール自体がプロパティ フレームを表示する前に、コントロールがコンテナーにプロパティ フレームを表示するように要求する必要があります。 コントロールは IOleControlSite::ShowPropertyFrame呼び出してこれを行います。 コンテナーがこの関数を実装する場合は、プロパティ フレーム自体が表示されます。メソッドがエラーを返す場合、コントロールはプロパティ フレームを表示できます。

詳細については、次のトピックを参照してください。

コントロール メソッドの