Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase HwndSource

 

Publicado: octubre de 2016

Presenta contenido de Windows Presentation Foundation (WPF) en una ventana Win32.

Espacio de nombres:   System.Windows.Interop
Ensamblado:  PresentationCore (en PresentationCore.dll)


public class HwndSource : PresentationSource, IDisposable, IWin32Window, 
	IKeyboardInputSink

NombreDescripción
System_CAPS_pubmethodHwndSource(HwndSourceParameters)

Inicializa una nueva instancia de la HwndSource clase con una estructura que contiene la configuración inicial.

System_CAPS_pubmethodHwndSource(Int32, Int32, Int32, Int32, Int32, Int32, Int32, String, IntPtr)

Inicializa una nueva instancia de la HwndSource clase con un estilo de clase especificada, estilo, extendido, posición x e y, ancho, alto, nombre y la ventana primaria.

System_CAPS_pubmethodHwndSource(Int32, Int32, Int32, Int32, Int32, Int32, Int32, String, IntPtr, Boolean)

Inicializa una nueva instancia de la HwndSource clase con un estilo de clase especificada, estilo, extendido, posición x e y, ancho, alto, nombre y la ventana primaria y especificando si la ventana está situado.

System_CAPS_pubmethodHwndSource(Int32, Int32, Int32, Int32, Int32, String, IntPtr)

Inicializa una nueva instancia de la HwndSource clase con un estilo de clase especificada, estilo, extendido, posición x e y, nombre y la ventana primaria.

NombreDescripción
System_CAPS_pubpropertyAcquireHwndFocusInMenuMode

Obtiene el valor que determina si se debe adquirir el foco de Win32 para la ventana contenedora de este de WPF HwndSource.

System_CAPS_pubpropertyChildKeyboardInputSinks

Obtiene una secuencia de receptores de entrada registrados.

System_CAPS_pubpropertyCompositionTarget

Obtiene el administrador visual de la ventana hospedada.

System_CAPS_pubpropertySystem_CAPS_staticDefaultAcquireHwndFocusInMenuMode

Obtiene o establece el valor predeterminado AcquireHwndFocusInMenuMode valor para las nuevas instancias de HwndSource.

System_CAPS_pubpropertyDispatcher

Obtiene el Dispatcher Esto DispatcherObject está asociado.(Heredado de DispatcherObject).

System_CAPS_pubpropertyHandle

Obtiene el identificador de ventana para este HwndSource.

System_CAPS_pubpropertyIsDisposed

Obtiene un valor que indica si Dispose se ha llamado en este HwndSource.(Invalida PresentationSource.IsDisposed).

System_CAPS_protpropertyKeyboardInputSiteCore

Obtiene o establece una referencia en del contenedor del componente IKeyboardInputSite interfaz.

System_CAPS_pubpropertyRestoreFocusMode

Obtiene el RestoreFocusMode de la ventana.

System_CAPS_pubpropertyRootVisual

Obtiene o establece la RootVisual de la ventana.(Invalida PresentationSource.RootVisual).

System_CAPS_pubpropertySizeToContent

Obtiene o establece si y cómo se ajusta el tamaño de la ventana a su contenido.

System_CAPS_pubpropertyUsesPerPixelOpacity

Obtiene un valor que declara si se respeta el valor de opacidad por píxel del contenido de la ventana de origen.

NombreDescripción
System_CAPS_pubmethodAddHook(HwndSourceHook)

Agrega un controlador de eventos que recibe todos los mensajes de ventana.

System_CAPS_protmethodAddSource()

Agrega un PresentationSource derivados de la instancia de la clase a la lista de orígenes de presentación conocidos.(Heredado de PresentationSource).

System_CAPS_pubmethodCheckAccess()

Determina si el subproceso de llamada tiene acceso a este DispatcherObject.(Heredado de DispatcherObject).

System_CAPS_protmethodClearContentRenderedListeners()

Establece la lista de agentes de escucha para el ContentRendered evento null.(Heredado de PresentationSource).

System_CAPS_pubmethodCreateHandleRef()

Obtiene el identificador de ventana para el HwndSource. El identificador de ventana se empaqueta como parte de una HandleRef (estructura).

System_CAPS_pubmethodDispose()

Libera todos los recursos utilizados por el HwndSource, y genera el Disposed eventos.

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object).

System_CAPS_pubmethodSystem_CAPS_staticFromHwnd(IntPtr)

Devuelve el HwndSource objeto de la ventana especificada.

System_CAPS_protmethodGetCompositionTargetCore()

Obtiene el destino visual de la ventana.(Invalida PresentationSource.GetCompositionTargetCore()).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_protmethodHasFocusWithinCore()

Obtiene un valor que indica si el receptor o uno de los componentes que contiene tiene el foco.

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_protmethodOnDpiChanged(HwndDpiChangedEventArgs)

Se llama cuando el valor de PPP se va a cambiar para la ventana.

System_CAPS_protmethodOnMnemonicCore(MSG, ModifierKeys)

Se llama cuando se invoca una de las teclas de acceso para este receptor.

System_CAPS_protmethodRegisterKeyboardInputSinkCore(IKeyboardInputSink)

Registra el IKeyboardInputSink interfaz de un componente independiente.

System_CAPS_pubmethodRemoveHook(HwndSourceHook)

Quita los controladores de eventos que se agregaron mediante AddHook.

System_CAPS_protmethodRemoveSource()

Quita un PresentationSource instancia de clase derivada de la lista de orígenes de presentación conocidos.(Heredado de PresentationSource).

System_CAPS_protmethodRootChanged(Visual, Visual)

Proporciona la notificación de que la raíz Visual ha cambiado.(Heredado de PresentationSource).

System_CAPS_protmethodTabIntoCore(TraversalRequest)

Establece el foco en la primera tabulación o la última tabulación del receptor.

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

System_CAPS_protmethodTranslateAcceleratorCore(MSG, ModifierKeys)

Procesa la entrada de teclado en el nivel de mensaje de tecla presionada.

System_CAPS_protmethodTranslateCharCore(MSG, ModifierKeys)

Procesa los mensajes de entrada WM_CHAR, WM_SYSCHAR, WM_DEADCHAR y WM_SYSDEADCHAR antes de la OnMnemonic se llama al método.

System_CAPS_pubmethodVerifyAccess()

Exige que el subproceso de llamada tiene acceso a este DispatcherObject.(Heredado de DispatcherObject).

NombreDescripción
System_CAPS_pubeventAutoResized

Se produce cuando el diseño provoca el HwndSource cambie de tamaño automáticamente.

System_CAPS_pubeventContentRendered

Se produce cuando se representa el contenido y está listo para la interacción del usuario.(Heredado de PresentationSource).

System_CAPS_pubeventDisposed

Se produce cuando el Dispose método se llama en este objeto.

System_CAPS_pubeventDpiChanged

Se produce cuando ha cambiado el valor de PPP del monitor de este HWND o HWND se mueve a un monitor con un valor de PPP diferente.

System_CAPS_pubeventSizeToContentChanged

Se produce cuando cambia el valor de la propiedad SizeToContent.

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethodIKeyboardInputSink.HasFocusWithin()

Para una descripción de este miembro, vea IList.Remove.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIKeyboardInputSink.OnMnemonic(MSG, ModifierKeys)

Para una descripción de este miembro, vea OnMnemonic.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIKeyboardInputSink.RegisterKeyboardInputSink(IKeyboardInputSink)

Para una descripción de este miembro, vea RegisterKeyboardInputSink.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIKeyboardInputSink.TabInto(TraversalRequest)

Para una descripción de este miembro, vea TabInto.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIKeyboardInputSink.TranslateAccelerator(MSG, ModifierKeys)

Para una descripción de este miembro, vea TranslateAccelerator.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIKeyboardInputSink.TranslateChar(MSG, ModifierKeys)

Para una descripción de este miembro, vea TranslateChar.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIKeyboardInputSink.KeyboardInputSite

Para una descripción de este miembro, vea KeyboardInputSite.

System_CAPS_security Seguridad Nota

Many members of this class are unavailable in the Internet security zone.

An T:System.Windows.Interop.HwndSource implements a TLA2#tla_win32 window that can contain TLA2#tla_winclient content. The TLA2#tla_winclient content in the window is arranged, measured, and rendered; and is interactive to input. Because the T:System.Windows.Interop.HwndSource is specifically designed to interoperate with TLA2#tla_win32, this class exposes several low-level TLA2#tla_win32 features. You can use this class to do the following:

  • Specify window styles, window class styles, and extended window styles.

  • Hook the window procedure.

  • Provide access to the window handle (HWND).

  • Destroy the window.

The T:System.Windows.Interop.HwndSource class is designed for general interoperability and is not designed as a managed HWND wrapper. In general, it does not provide managed methods for manipulating the window or properties for inspecting its state. Instead, the T:System.Windows.Interop.HwndSource class provides access to the TLA2#tla_win32 window handle (HWND) through the P:System.Windows.Interop.HwndSource.Handle property, which can be passed by means of PInvoke techniques to TLA2#tla_win32 TLA2#tla_api#plural in order to manipulate the window.

Construction

Many aspects of the T:System.Windows.Interop.HwndSource can only be specified at construction time. To create an T:System.Windows.Interop.HwndSource, first create an T:System.Windows.Interop.HwndSourceParameters structure and populate it with the desired parameters. These parameters include the following:

  • The class, window, and extended window styles. You must use PInvoke to change the styles after the window is created. Not all styles can be changed after the window is created. Consult the TLA2#tla_win32 documentation before changing window styles.

  • The initial position of the window.

  • The initial size of the window, which includes whether the size is specified or should be determined from the determined size of the TLA2#tla_winclient content.

  • The parent window.

  • The T:System.Windows.Interop.HwndSourceHook to include in the window procedure chain. If you specify a hook at construction time, it receives all messages for the window. You can use M:System.Windows.Interop.HwndSource.AddHook(System.Windows.Interop.HwndSourceHook) to add a hook after the window is created.

  • The transparency settings. A top-level window can be configured to blend with the other windows on the desktop according to the per-pixel transparency of the TLA2#tla_winclient content. To enable this, set the P:System.Windows.Interop.HwndSourceParameters.UsesPerPixelOpacity property in the T:System.Windows.Interop.HwndSourceParameters to true. This property can only be specified at construction time, and only through the M:System.Windows.Interop.HwndSource.#ctor(System.Windows.Interop.HwndSourceParameters) constructor signature, and it imposes several limitations.

After you populate the T:System.Windows.Interop.HwndSourceParameters structure, pass it to the M:System.Windows.Interop.HwndSource.#ctor(System.Windows.Interop.HwndSourceParameters) constructor for the T:System.Windows.Interop.HwndSource.

Object Lifetime

An T:System.Windows.Interop.HwndSource is a regular TLA#tla_clr object, and its lifetime is managed by the garbage collector. Because the T:System.Windows.Interop.HwndSource represents an unmanaged resource, T:System.Windows.Interop.HwndSource implements T:System.IDisposable. Synchronously calling M:System.Windows.Interop.HwndSource.Dispose immediately destroys the TLA2#tla_win32 window if called from the owner thread. If called from another thread, the TLA2#tla_win32 window is destroyed asynchronously. Calling M:System.Windows.Interop.HwndSource.Dispose explicitly from the interoperating code might be necessary for certain interoperation scenarios.

Window Procedures

The T:System.Windows.Interop.HwndSource class implements its own window procedure. This window procedure is used to process important window messages, such as those related to layout, rendering, and input. However, you can also hook the window procedure for your own use. You can specify your own hook during construction by setting the P:System.Windows.Interop.HwndSourceParameters.HwndSourceHook property, or you can also use M:System.Windows.Interop.HwndSource.AddHook(System.Windows.Interop.HwndSourceHook) and M:System.Windows.Interop.HwndSource.RemoveHook(System.Windows.Interop.HwndSourceHook) to add and remove hooks after the window is created. The hooks are called by last-in first-out order, which enables your hooks to execute before the built-in processing. The actual hooks are held by a weak reference. Therefore, make sure that you manage the lifetime of your hook delegate.

For more information about T:System.Windows.Interop.HwndSource and other interoperation classes, see WPF and Win32 Interoperation.

Notice how the constructors for T:System.Windows.Interop.HwndSource take parameters that resemble the parameters for TLA#tla_win32 functions such as CreateWindowExhttp://go.microsoft.com/fwlink/?LinkID=98462.

Scale transformations should not be applied to the P:System.Windows.Interop.HwndSource.RootVisual of an T:System.Windows.Interop.HwndSource. See Remarks for P:System.Windows.Interop.HwndSource.RootVisual.

.NET Framework
Disponible desde 3.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: