OLEMISC 列挙 (oleidl.h)

オブジェクトまたはオブジェクトのクラスのその他の特性について説明します。 コンテナーは IOleObject::GetMiscStatus メソッドを呼び出して、オブジェクトに設定された OLEMISC ビットを決定できます。 登録データベースのオブジェクト サーバーの CLSID\MiscStatus エントリで指定された値は、 OLEMISC 列挙に基づいています。 これらの定数は、OBJECTDESCRIPTOR 構造体の dwStatus メンバーでも使用されます。

構文

typedef enum tagOLEMISC {
  OLEMISC_RECOMPOSEONRESIZE = 0x1,
  OLEMISC_ONLYICONIC = 0x2,
  OLEMISC_INSERTNOTREPLACE = 0x4,
  OLEMISC_STATIC = 0x8,
  OLEMISC_CANTLINKINSIDE = 0x10,
  OLEMISC_CANLINKBYOLE1 = 0x20,
  OLEMISC_ISLINKOBJECT = 0x40,
  OLEMISC_INSIDEOUT = 0x80,
  OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
  OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
  OLEMISC_INVISIBLEATRUNTIME = 0x400,
  OLEMISC_ALWAYSRUN = 0x800,
  OLEMISC_ACTSLIKEBUTTON = 0x1000,
  OLEMISC_ACTSLIKELABEL = 0x2000,
  OLEMISC_NOUIACTIVATE = 0x4000,
  OLEMISC_ALIGNABLE = 0x8000,
  OLEMISC_SIMPLEFRAME = 0x10000,
  OLEMISC_SETCLIENTSITEFIRST = 0x20000,
  OLEMISC_IMEMODE = 0x40000,
  OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,
  OLEMISC_WANTSTOMENUMERGE = 0x100000,
  OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
} OLEMISC;

定数

 
OLEMISC_RECOMPOSEONRESIZE
値: 0x1
コンテナーが、オブジェクトのプレゼンテーションの 1 つを表示するために割り当てられた領域のサイズを変更すると、オブジェクトはプレゼンテーションを再計算します。 つまり、サイズ変更時に、オブジェクトは画像の拡大縮小以外の処理を行う必要があります。 このビットが設定されている場合、コンテナーはオブジェクトを強制的に実行中の状態にし、新しいサイズで IOleObject::SetExtent を呼び出す必要があります。
OLEMISC_ONLYICONIC
値: 0x2
オブジェクトには、アイコン以外の便利なコンテンツ ビューはありません。 ユーザーの観点から、このオブジェクトの [アイコンとして表示] チェック ボックス ([特殊な貼り付け] ダイアログ ボックス) は常にオンになっている必要があり、オフにしないでください。 このようなオブジェクトは引き続き描画可能なコンテンツの側面を持つ必要があることに注意してください。アイコン ビューと同じように表示されます。
OLEMISC_INSERTNOTREPLACE
値: 0x4
オブジェクトは、コンテナーの現在の選択範囲のデータから自身を初期化しました。 コンテナーは、 IOleObject::InitFromData を呼び出して現在の選択範囲からオブジェクトを初期化した後、このビットを調べる必要があります。 設定した場合、コンテナーは、現在の選択範囲を置き換えるのではなく、現在の選択範囲の横にオブジェクトを挿入する必要があります。 このビットが設定されていない場合は、挿入されるオブジェクトが現在の選択範囲に置き換えられます。
OLEMISC_STATIC
値: 0x8
このオブジェクトは、プレゼンテーションのみを含むオブジェクトである静的オブジェクトです。ネイティブ データは含まれない。 「OleCreateStaticFromData」を参照してください。
OLEMISC_CANTLINKINSIDE
値: 0x10
このオブジェクトは、バインド時にオブジェクトをアクティブ化 (実行) するリンク ソースにすることはできません。 オブジェクトが選択され、クリップボードにコピーされた場合、オブジェクトのコンテナーは、バインド時にオブジェクトの外部に接続する必要があるリンクをクリップボードのデータ転送に提供できます。 ユーザーには、コンテナーで選択されているオブジェクトが表示され、編集用に開いていません。 これを行うのではなく、コンテナーは、このビット セットを使用してオブジェクトを転送するときに、リンク ソースの提供を拒否できます。 このビット セットを持つオブジェクトの例としては、OLE1 オブジェクト、静的オブジェクト、リンクがあります。
OLEMISC_CANLINKBYOLE1
値: 0x20
このオブジェクトは、OLE 1 コンテナーで にリンクできます。 このビットは、Object および Link Source Descriptor 形式で転送された OBJECTDESCRIPTOR 構造体の dwStatus メンバーで使用されます。 オブジェクトは、無題のドキュメント、ファイル、またはファイル内のデータの選択である場合、OLE 1 コンテナーによってリンクできます。 埋め込みオブジェクトまたは埋め込みオブジェクト内に含まれる擬似オブジェクトは、OLE 1 コンテナーではリンクできません (つまり、OLE 1 コンテナーはリンク ソースにリンクできません。バインドされている場合、複数のオブジェクト サーバーを実行する必要があります)。
OLEMISC_ISLINKOBJECT
値: 0x40
このオブジェクトはリンク オブジェクトです。 このビットは OLE 1 にとって重要であり、OLE 2 リンク オブジェクトによって設定されます。オブジェクト アプリケーションでは、このビットを設定する必要はありません。
OLEMISC_INSIDEOUT
値: 0x80
このオブジェクトは、メニューとツール バーのインストールを実行することなく、インプレースでアクティブ化できます。 このようなオブジェクトの中には、同時にアクティブにできるオブジェクトがいくつかあります。 フォームなどの一部のコンテナーでは、このようなオブジェクトを自動的にアクティブ化することを選択できます。
OLEMISC_ACTIVATEWHENVISIBLE
値: 0x100
このビットは、OLEMISC_INSIDEOUTが設定されている場合にのみ設定され、このオブジェクトが表示されるたびにアクティブ化されることを示します。 一部のコンテナーでは、常にこのヒントが無視される場合があります。
OLEMISC_RENDERINGISDEVICEINDEPENDENT
値: 0x200
このオブジェクトは、ターゲット デバイスには注意を払いません。 そのプレゼンテーション データは、すべての場合で同じになります。
OLEMISC_INVISIBLEATRUNTIME
値: 0x400
この値は、コントロールと共に使用されます。 これは、コントロールに実行時ユーザー インターフェイスはありませんが、デザイン時に表示されることを示します。 たとえば、特定のイベントを定期的に発生するタイマー コントロールは実行時には表示されませんが、フォーム デザイナーがイベント期間やその他のプロパティを設定できるように、デザイン時のユーザー インターフェイスが必要です。
OLEMISC_ALWAYSRUN
値: 0x800
この値は、コントロールと共に使用されます。 このコントロールが常に実行されることをコンテナーに通知します。 その結果、オブジェクトの読み込みまたは作成時に、コンテナーは OleRun を呼び出す必要があります。
OLEMISC_ACTSLIKEBUTTON
値: 0x1000
この値は、コントロールと共に使用されます。 これは、コントロールがコンテナーの DisplayAsDefault アンビエント プロパティを理解し、それに従うという点でボタンのようなものであることを示します。
OLEMISC_ACTSLIKELABEL
値: 0x2000
この値は、コントロールと共に使用されます。 フォームの順序の後に表示されるコントロールのラベルとしてコントロールをマークします。 ラベル コントロールのニーモニック キーを押すと、その後にコントロールがアクティブになります。
OLEMISC_NOUIACTIVATE
値: 0x4000
この値は、コントロールと共に使用されます。 コントロールに UI のアクティブな状態がないことを示します。つまり、インプレース ツール、共有メニュー、アクセラレータは必要ありません。 また、コントロールにフォーカスが必要になることもありません。
OLEMISC_ALIGNABLE
値: 0x8000
この値は、コントロールと共に使用されます。 コントロールは、左、中央、右などの配置プロパティに従って、表示四角形内で自身を配置する方法を理解していることを示します。
OLEMISC_SIMPLEFRAME
値: 0x10000
この値は、コントロールと共に使用されます。 これは、コントロールが他のコントロールの単純なグループ化であり、フォームを管理するコントロール コンテナーに Windows メッセージを渡すだけであることを示します。 この種類のコントロールでは、コンテナーのサイトに ISimpleFrameSite を実装する必要があります。
OLEMISC_SETCLIENTSITEFIRST
値: 0x20000
この値は、コントロールと共に使用されます。 これは、IPersistStreamInit::InitNewIPersistStorage::InitNew などの呼び出しの前であっても、コントロールが初期化関数として IOleObject::SetClientSite を使用することを示します。 これにより、永続的ストレージから情報を読み込む前に、コントロールがコンテナーのアンビエント プロパティにアクセスできるようになります。 OleCreate、OleCreateFromDataOleCreateFromFileOleLoad、および既定のハンドラーの現在の実装では、この値が認識されないことに注意してください。 この値を受け入れたいコントロール コンテナーは、コントロールの正しい初期化シーケンスを確立するために、現在、これらの関数の独自のバージョンを実装する必要があります。
OLEMISC_IMEMODE
値: 0x40000
互換性のために残されています。 Input Method エディター (IME) システム コンポーネントで動作するコントロールは、OLEMISC 列挙体でこの値を使用するのではなく、IMEMode プロパティを使用して IME の状態を制御できます。 IME コンポーネントを使用すると、通常のキーボードを使用してアジアの文字セットに情報を入力できます。 たとえば、日本語の IME を使用すると、通常のキーボードで "sushi" などの単語を入力できます。Space キーを押すと、IME コンポーネントはその単語を適切な漢字に変換するか、選択肢を提案します。 OLEMISC_IMEMODE値は、以前は IME モード システム コンポーネントを制御できるコントロールとしてマークするために使用されていました。
OLEMISC_IGNOREACTIVATEWHENVISIBLE
値: 0x80000
新しい ActiveX コントロールを古いコンテナーで動作させるには、コントロールにOLEMISC_ACTIVATEWHENVISIBLE値を設定する必要がある場合があります。 ただし、IPointerInactive を理解して使用する新しいコンテナーでは、コントロールが表示されるときにインプレース アクティブ化されたくはありません。 コントロールが両方の種類のコンテナーで動作できるようにするには、コントロールでこの値を設定できます。 その後、コンテナーはOLEMISC_ACTIVATEWHENVISIBLEを無視し、表示されたときにコントロールをインプレースアクティブ化しません。
OLEMISC_WANTSTOMENUMERGE
値: 0x100000
メニューをコンテナーとマージできるコントロールは、この値を設定します。
OLEMISC_SUPPORTSMULTILEVELUNDO
値: 0x200000
複数レベルの元に戻すをサポートするコントロールは、この値を設定します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header oleidl.h

こちらもご覧ください

IOleObject::GetMiscStatus

OBJECTDESCRIPTOR