HwndSource HwndSource HwndSource HwndSource Class

定義

Win32 ウィンドウで Windows Presentation Foundation (WPF) コンテンツを表します。

public ref class HwndSource : System::Windows::PresentationSource, IDisposable, System::Windows::Interop::IKeyboardInputSink, System::Windows::Interop::IWin32Window
public class HwndSource : System.Windows.PresentationSource, IDisposable, System.Windows.Interop.IKeyboardInputSink, System.Windows.Interop.IWin32Window
type HwndSource = class
    inherit PresentationSource
    interface IDisposable
    interface IWin32Window
    interface IKeyboardInputSink
Public Class HwndSource
Inherits PresentationSource
Implements IDisposable, IKeyboardInputSink, IWin32Window
継承
実装

注釈

重要

このクラスの多くのメンバーは、インターネット セキュリティ ゾーンでは使用できません。

HwndSource実装、Win32含むことのできるウィンドウWPFコンテンツ。 WPFウィンドウにコンテンツが配置されている、測定、およびレンダリングおよび対話形式で入力します。 HwndSourceと相互運用可能に設計されてWin32、このクラスは、低レベルのいくつか公開Win32機能します。 このクラスを使用すると、次の操作を行います。

  • ウィンドウ スタイル、ウィンドウ クラスのスタイルを指定して、拡張ウィンドウ スタイル。

  • ウィンドウ プロシージャをフックします。

  • ウィンドウ ハンドル (HWND) へのアクセスを提供します。

  • ウィンドウを破棄します。

HwndSourceクラスは、一般的な相互運用性を目的し、HWND のマネージ ラッパーとして設計されていません。 一般に、ウィンドウまたはその状態を検査するためのプロパティを操作するためのマネージ メソッドは提供されません。 代わりに、HwndSourceクラスへのアクセスを提供する、Win32ウィンドウ ハンドル (HWND) を通じて、Handleプロパティで、PInvoke 手法を使用して渡すことができますWin32APIウィンドウを操作するためにします。

構築

さまざまな側面、HwndSource構築時にのみ指定できます。 作成する、 HwndSource、最初に作成、HwndSourceParameters構造体であり、目的のパラメーターを設定します。 これらのパラメーターを以下に示します。

  • クラス、ウィンドウ、および拡張ウィンドウ スタイル。 PInvoke を使用して、ウィンドウを作成した後にスタイルを変更する必要があります。 ウィンドウを作成した後、すべてのスタイルを変更できます。 参照してください、Win32ウィンドウ スタイルを変更する前にドキュメント。

  • ウィンドウの初期位置。

  • サイズを指定またはの決められたサイズから判断する必要があるかどうかを含むウィンドウの初期サイズ、WPFコンテンツ。

  • 親ウィンドウを指定します。

  • HwndSourceHookウィンドウ プロシージャのチェーンに含める。 構築時にフックを指定する場合は、ウィンドウのすべてのメッセージを受信します。 使用することができますAddHookウィンドウが作成された後にフックを追加します。

  • 透明度の設定。 ピクセルごとの透明度に従ってデスクトップ上の他のウィンドウとブレンドするトップレベル ウィンドウを構成することができます、WPFコンテンツ。 これを有効にするには設定、UsesPerPixelOpacityプロパティ、HwndSourceParameterstrueします。 このプロパティは、構築時に、さらにのみ、のみ指定できます、HwndSource(HwndSourceParameters)コンス トラクターのシグネチャとそのでいくつかの制限が課せられます。

設定した後、HwndSourceParameters構造体を渡すことに、HwndSource(HwndSourceParameters)のコンス トラクター、HwndSourceします。

オブジェクトの有効期間

HwndSource 、通常は、共通言語ランタイム (CLR)オブジェクト、およびその有効期間は、ガベージ コレクターによって管理されます。 HwndSourceのアンマネージ リソースを表すHwndSource実装IDisposableします。 同期的に呼び出すDisposeを即座に破棄、Win32ウィンドウ所有者のスレッドから呼び出された場合。 別のスレッドから呼び出された場合、Win32ウィンドウが非同期的に破棄します。 呼び出すDispose明示的に相互運用コードから必要があります、特定の相互運用シナリオ。

ウィンドウ プロシージャ

HwndSourceクラスは、独自のウィンドウ プロシージャを実装します。 このウィンドウ プロシージャはレイアウト、レンダリングに関連するものなどの重要なウィンドウ メッセージを処理するために使用し、入力します。 ただし、独自のウィンドウ プロシージャをフックすることもできます。 構築時に、独自のフックを設定して指定できます、HwndSourceParameters.HwndSourceHookプロパティを使用できますもAddHookRemoveHook追加したり、ウィンドウを作成した後、フックを削除します。 により、組み込みの処理の前に実行する、フック後入れ先出しの順序によっては、フックが呼び出されます。 実際のフックは、弱い参照によって保持されます。 そのため、フック デリゲートの有効期間を管理することを確認します。

詳細についてはHwndSource他の相互運用のクラスを参照してくださいとWPF と Win32 の相互運用性します。

通知方法のコンス トラクターHwndSourceのパラメーターのようにパラメーターを受け取るWin32などの関数CreateWindowExします。

スケール変換が適用されない、RootVisualHwndSourceします。 「解説」を参照してください。RootVisualします。

コンストラクター

HwndSource(HwndSourceParameters) HwndSource(HwndSourceParameters) HwndSource(HwndSourceParameters) HwndSource(HwndSourceParameters)

初期設定を格納している構造体を使用して、HwndSource クラスの新しいインスタンスを初期化します。

HwndSource(Int32, Int32, Int32, Int32, Int32, Int32, Int32, String, IntPtr) HwndSource(Int32, Int32, Int32, Int32, Int32, Int32, Int32, String, IntPtr) HwndSource(Int32, Int32, Int32, Int32, Int32, Int32, Int32, String, IntPtr) HwndSource(Int32, Int32, Int32, Int32, Int32, Int32, Int32, String, IntPtr)

クラス スタイル、スタイル、拡張スタイル、x-y 位置、幅、高さ、名前、および親ウィンドウを指定して、HwndSource クラスの新しいインスタンスを初期化します。

HwndSource(Int32, Int32, Int32, Int32, Int32, Int32, Int32, String, IntPtr, Boolean) HwndSource(Int32, Int32, Int32, Int32, Int32, Int32, Int32, String, IntPtr, Boolean) HwndSource(Int32, Int32, Int32, Int32, Int32, Int32, Int32, String, IntPtr, Boolean) HwndSource(Int32, Int32, Int32, Int32, Int32, Int32, Int32, String, IntPtr, Boolean)

指定したクラス スタイル、スタイル、拡張スタイル、x-y 位置、幅、高さ、名前、および親ウィンドウを使用し、さらに、ウィンドウでサイズが自動調整されるかどうかを指定して、HwndSource クラスの新しいインスタンスを初期化します。

HwndSource(Int32, Int32, Int32, Int32, Int32, String, IntPtr) HwndSource(Int32, Int32, Int32, Int32, Int32, String, IntPtr) HwndSource(Int32, Int32, Int32, Int32, Int32, String, IntPtr) HwndSource(Int32, Int32, Int32, Int32, Int32, String, IntPtr)

クラス スタイル、スタイル、拡張スタイル、x-y 位置、名前、および親ウィンドウを指定して、HwndSource クラスの新しいインスタンスを初期化します。

プロパティ

AcquireHwndFocusInMenuMode AcquireHwndFocusInMenuMode AcquireHwndFocusInMenuMode AcquireHwndFocusInMenuMode

この HwndSource のウィンドウを含む WPF の Win32 フォーカスを取得するかどうかを決定する値を取得します。

ChildKeyboardInputSinks ChildKeyboardInputSinks ChildKeyboardInputSinks ChildKeyboardInputSinks

登録された入力シンクのシーケンスを取得します。

CompositionTarget CompositionTarget CompositionTarget CompositionTarget

ホストされたウィンドウのビジュアル マネージャーを取得します。

DefaultAcquireHwndFocusInMenuMode DefaultAcquireHwndFocusInMenuMode DefaultAcquireHwndFocusInMenuMode DefaultAcquireHwndFocusInMenuMode

AcquireHwndFocusInMenuMode の新しいインスタンスの既定の HwndSource の値を取得または設定します。

Dispatcher Dispatcher Dispatcher Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。

(Inherited from DispatcherObject)
Handle Handle Handle Handle

この HwndSource のウィンドウ ハンドルを取得します。

IsDisposed IsDisposed IsDisposed IsDisposed

この Dispose()HwndSource が呼び出されたかどうかを示す値を取得します。

KeyboardInputSiteCore KeyboardInputSiteCore KeyboardInputSiteCore KeyboardInputSiteCore

コンポーネントのコンテナーの IKeyboardInputSite インターフェイスへの参照を取得または設定します。

RestoreFocusMode RestoreFocusMode RestoreFocusMode RestoreFocusMode

ウィンドウの RestoreFocusMode を取得します。

RootVisual RootVisual RootVisual RootVisual

ウィンドウの RootVisual を取得または設定します。

SizeToContent SizeToContent SizeToContent SizeToContent

ウィンドウのサイズをコンテンツに合わせて調整するかどうか、およびどのように調整するかを取得または設定します。

UsesPerPixelOpacity UsesPerPixelOpacity UsesPerPixelOpacity UsesPerPixelOpacity

ソース ウィンドウ コンテンツのピクセルごとの不透明度を使用するかどうかを示す値を取得します。

メソッド

AddHook(HwndSourceHook) AddHook(HwndSourceHook) AddHook(HwndSourceHook) AddHook(HwndSourceHook)

すべてのウィンドウ メッセージを受け取るイベント ハンドラーを追加します。

AddSource() AddSource() AddSource() AddSource()

PresentationSource 派生クラスのインスタンスを既知のプレゼンテーション ソースのリストに追加します。

(Inherited from PresentationSource)
CheckAccess() CheckAccess() CheckAccess() CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。

(Inherited from DispatcherObject)
ClearContentRenderedListeners() ClearContentRenderedListeners() ClearContentRenderedListeners() ClearContentRenderedListeners()

ContentRendered イベントのリスナーのリストを null に設定します。

(Inherited from PresentationSource)
CreateHandleRef() CreateHandleRef() CreateHandleRef() CreateHandleRef()

HwndSource のウィンドウ ハンドルを取得します。 ウィンドウ ハンドルは HandleRef 構造体の一部としてパッケージ化されます。

Dispose() Dispose() Dispose() Dispose()

HwndSource によって使用されているすべてのマネージド リソースを解放し、Disposed イベントを発生させます。

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。

(Inherited from Object)
FromHwnd(IntPtr) FromHwnd(IntPtr) FromHwnd(IntPtr) FromHwnd(IntPtr)

指定したウィンドウの HwndSource オブジェクトを返します。

GetCompositionTargetCore() GetCompositionTargetCore() GetCompositionTargetCore() GetCompositionTargetCore()

ウィンドウのビジュアル ターゲットを取得します。

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。

(Inherited from Object)
HasFocusWithinCore() HasFocusWithinCore() HasFocusWithinCore() HasFocusWithinCore()

シンクまたはその中に格納されているコンポーネントのいずれかにフォーカスがあるかどうかを示す値を取得します。

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。

(Inherited from Object)
OnDpiChanged(HwndDpiChangedEventArgs) OnDpiChanged(HwndDpiChangedEventArgs) OnDpiChanged(HwndDpiChangedEventArgs) OnDpiChanged(HwndDpiChangedEventArgs)

ウィンドウの DPI が変更されるときに呼び出されます。

OnMnemonicCore(MSG, ModifierKeys) OnMnemonicCore(MSG, ModifierKeys) OnMnemonicCore(MSG, ModifierKeys) OnMnemonicCore(MSG, ModifierKeys)

このシンクのニーモニック (アクセス キー) のいずれかが起動されたときに呼び出されます。

RegisterKeyboardInputSinkCore(IKeyboardInputSink) RegisterKeyboardInputSinkCore(IKeyboardInputSink) RegisterKeyboardInputSinkCore(IKeyboardInputSink) RegisterKeyboardInputSinkCore(IKeyboardInputSink)

格納されているコンポーネントの IKeyboardInputSink インターフェイスを登録します。

RemoveHook(HwndSourceHook) RemoveHook(HwndSourceHook) RemoveHook(HwndSourceHook) RemoveHook(HwndSourceHook)

AddHook(HwndSourceHook) によって追加されたイベント ハンドラーを削除します。

RemoveSource() RemoveSource() RemoveSource() RemoveSource()

PresentationSource 派生クラスのインスタンスを既知のプレゼンテーション ソースのリストから削除します。

(Inherited from PresentationSource)
RootChanged(Visual, Visual) RootChanged(Visual, Visual) RootChanged(Visual, Visual) RootChanged(Visual, Visual)

ルート Visual が変更されたことを示す通知を提供します。

(Inherited from PresentationSource)
TabIntoCore(TraversalRequest) TabIntoCore(TraversalRequest) TabIntoCore(TraversalRequest) TabIntoCore(TraversalRequest)

フォーカスをシンクの最初のタブ位置または最後のタブ位置のいずれかに設定します。

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。

(Inherited from Object)
TranslateAcceleratorCore(MSG, ModifierKeys) TranslateAcceleratorCore(MSG, ModifierKeys) TranslateAcceleratorCore(MSG, ModifierKeys) TranslateAcceleratorCore(MSG, ModifierKeys)

キー押下メッセージのレベルでキーボード入力を処理します。

TranslateCharCore(MSG, ModifierKeys) TranslateCharCore(MSG, ModifierKeys) TranslateCharCore(MSG, ModifierKeys) TranslateCharCore(MSG, ModifierKeys)

OnMnemonic(MSG, ModifierKeys) メソッドの呼び出し前に、WM_CHAR、WM_SYSCHAR、WM_DEADCHAR、および WM_SYSDEADCHAR 入力メッセージを処理します。

VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。

(Inherited from DispatcherObject)

イベント

AutoResized AutoResized AutoResized AutoResized

レイアウトによって HwndSource のサイズが自動調整されると発生します。

ContentRendered ContentRendered ContentRendered ContentRendered

コンテンツがレンダリングされ、ユーザー操作を受け入れる準備が整ったときに発生します。

(Inherited from PresentationSource)
Disposed Disposed Disposed Disposed

このオブジェクトで Dispose() メソッドが呼び出されると発生します。

DpiChanged DpiChanged DpiChanged DpiChanged

この Hwnd のモニターの DPI が変更された場合、または Hwnd がさまざまな DPI のモニターに移動された場合に発生します。

SizeToContentChanged SizeToContentChanged SizeToContentChanged SizeToContentChanged

SizeToContent プロパティの値が変更された場合に発生します。

明示的なインターフェイスの実装

IKeyboardInputSink.HasFocusWithin() IKeyboardInputSink.HasFocusWithin() IKeyboardInputSink.HasFocusWithin() IKeyboardInputSink.HasFocusWithin()

このメンバーの説明については、IList.Remove(Object) のトピックを参照してください。

IKeyboardInputSink.KeyboardInputSite IKeyboardInputSink.KeyboardInputSite IKeyboardInputSink.KeyboardInputSite IKeyboardInputSink.KeyboardInputSite

このメンバーの説明については、KeyboardInputSite のトピックを参照してください。

IKeyboardInputSink.OnMnemonic(MSG, ModifierKeys) IKeyboardInputSink.OnMnemonic(MSG, ModifierKeys) IKeyboardInputSink.OnMnemonic(MSG, ModifierKeys) IKeyboardInputSink.OnMnemonic(MSG, ModifierKeys)

このメンバーの説明については、OnMnemonic(MSG, ModifierKeys) のトピックを参照してください。

IKeyboardInputSink.RegisterKeyboardInputSink(IKeyboardInputSink) IKeyboardInputSink.RegisterKeyboardInputSink(IKeyboardInputSink) IKeyboardInputSink.RegisterKeyboardInputSink(IKeyboardInputSink) IKeyboardInputSink.RegisterKeyboardInputSink(IKeyboardInputSink)

このメンバーの説明については、RegisterKeyboardInputSink(IKeyboardInputSink) のトピックを参照してください。

IKeyboardInputSink.TabInto(TraversalRequest) IKeyboardInputSink.TabInto(TraversalRequest) IKeyboardInputSink.TabInto(TraversalRequest) IKeyboardInputSink.TabInto(TraversalRequest)

このメンバーの説明については、TabInto(TraversalRequest) のトピックを参照してください。

IKeyboardInputSink.TranslateAccelerator(MSG, ModifierKeys) IKeyboardInputSink.TranslateAccelerator(MSG, ModifierKeys) IKeyboardInputSink.TranslateAccelerator(MSG, ModifierKeys) IKeyboardInputSink.TranslateAccelerator(MSG, ModifierKeys)

このメンバーの説明については、TranslateAccelerator(MSG, ModifierKeys) のトピックを参照してください。

IKeyboardInputSink.TranslateChar(MSG, ModifierKeys) IKeyboardInputSink.TranslateChar(MSG, ModifierKeys) IKeyboardInputSink.TranslateChar(MSG, ModifierKeys) IKeyboardInputSink.TranslateChar(MSG, ModifierKeys)

このメンバーの説明については、TranslateChar(MSG, ModifierKeys) のトピックを参照してください。

適用対象

こちらもご覧ください