CoreWindow Clase

Definición

Representa la aplicación para UWP con eventos de entrada y comportamientos básicos de la interfaz de usuario.

public ref class CoreWindow sealed : ICoreWindow
public ref class CoreWindow sealed : ICorePointerRedirector, ICoreWindow
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
class CoreWindow final : ICoreWindow
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
class CoreWindow final : ICorePointerRedirector, ICoreWindow
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
public sealed class CoreWindow : ICoreWindow
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
public sealed class CoreWindow : ICorePointerRedirector, ICoreWindow
Public NotInheritable Class CoreWindow
Implements ICoreWindow
Public NotInheritable Class CoreWindow
Implements ICorePointerRedirector, ICoreWindow
Herencia
Object Platform::Object IInspectable CoreWindow
Atributos
Implementaciones

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Comentarios

Las nuevas instancias de esta clase se obtienen llamando a CoreApplication.CreateNewView e inspeccionando la propiedad CoreWindow en la instancia de CoreApplicationView devuelta. También puede obtener instancias de CoreWindow existentes para una aplicación en ejecución desde la propiedad CoreApplication.Views o llamando a CoreWindow.GetForCurrentThread, como se muestra en el ejemplo siguiente.

// App.cpp
...
// An implementation of IFrameworkView::Run.
void Run()
{
    CoreWindow window{ CoreWindow::GetForCurrentThread() };
    window.Activate();

    CoreDispatcher dispatcher{ window.Dispatcher() };
    dispatcher.ProcessEvents(CoreProcessEventsOption::ProcessUntilQuit);
}

// The CoreApplication::Run call indirectly calls the App::Run function above.
int __stdcall wWinMain(HINSTANCE, HINSTANCE, PWSTR, int)
{
    CoreApplication::Run(App());
}
void MyCoreWindowEvents::Run() // this is an implementation of IFrameworkView::Run() used to show context
{
    CoreWindow::GetForCurrentThread()->Activate();

    /...

    CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessUntilQuit);
}

Nota

Esta clase no es ágil, lo que significa que debe tener en cuenta su modelo de subprocesos y el comportamiento de serialización. Para obtener más información, consulta Subprocesos y serialización (C++/CX).

Historial de versiones

Versión de Windows Versión del SDK Valor agregado
1511 10586 PointerRoutedAway
1511 10586 PointerRoutedReleased
1511 10586 PointerRoutedTo
1607 14393 ClosestInteractiveBoundsRequested
1607 14393 GetCurrentKeyEventDeviceId
1703 15063 ResizeCompleted
1703 15063 ResizeStarted
1709 16299 ActivationMode
1709 16299 DispatcherQueue
1903 18362 UIContext

Propiedades

ActivationMode

Obtiene un valor que indica el estado de activación de la ventana.

AutomationHostProvider

Obtiene el proveedor de automatización asignado a esta ventana.

Bounds

Obtiene un valor rect que contiene el origen, el alto y el ancho del área de cliente de la ventana, en píxeles independientes del dispositivo (DIP).

CustomProperties

Obtiene el conjunto de propiedades personalizadas para la ventana.

Dispatcher

Obtiene el distribuidor de eventos de la ventana.

DispatcherQueue

Obtiene dispatcherQueue para la ventana.

FlowDirection

Obtiene o establece el origen horizontal de la alineación del orden de lectura de la ventana. Si el idioma especificado por la interfaz de usuario está alineado a la derecha (como en árabe o hebreo), el origen horizontal del diseño de lectura de la ventana está en el borde derecho.

IsInputEnabled

Obtiene o establece un valor que indica si la entrada está habilitada para la aplicación.

PointerCursor

Obtiene o establece el cursor de puntero utilizado por la aplicación.

PointerPosition

Obtiene las coordenadas de cliente del puntero.

UIContext

Obtiene el identificador de contexto de la ventana principal.

Visible

Obtiene un valor que indica si la ventana está visible.

Métodos

Activate()

Activa la ventana. Se llama a este método para presentar la ventana en la pantalla.

Close()

Cierra una ventana secundaria y sale del bucle de mensajes.

GetAsyncKeyState(VirtualKey)

Recupera de forma asincrónica el estado de una clave virtual.

GetCurrentKeyEventDeviceId()

Recupera el identificador único del dispositivo de entrada que generó este evento de clave.

GetCurrentKeyEventDeviceId no se admite para todos los dispositivos de entrada.

GetForCurrentThread()

Obtiene la instancia de CoreWindow para el subproceso activo actualmente.

GetKeyState(VirtualKey)

Recupera el estado de una clave virtual.

ReleasePointerCapture()

Desasocia la entrada del puntero de la aplicación, si se ha asociado previamente a través de SetPointerCapture, y restaura el procesamiento de entrada de puntero normal.

SetPointerCapture()

Asocia la entrada de puntero a la aplicación. Una vez capturado un puntero, la aplicación desencadena todos los eventos posteriores asociados a ese puntero.

Eventos

Activated

Se desencadena cuando la ventana completa la activación o desactivación.

AutomationProviderRequested

Se desencadena cuando se genera una solicitud para un controlador de automatización.

CharacterReceived

Se desencadena cuando la cola de entrada recibe un nuevo carácter.

Closed

Se produce cuando se cierra una ventana (o la aplicación finaliza por completo).

ClosestInteractiveBoundsRequested

Nota

No está pensado para uso general.

Se produce cuando un administrador de entrada de marco solicita el rectángulo delimitador de un elemento interactivo dentro de un rectángulo delimitador específico y más cercano a un puntero específico.

InputEnabled

Se produce cuando la entrada está habilitada o deshabilitada para la aplicación.

KeyDown

Evento que se genera cuando se presiona una tecla que no es del sistema.

El tipo de delegado para este evento es TypedEventHandler<TSender,TResult>, donde TSender es de tipo CoreWindow y TResult es de tipo KeyEventArgs.

KeyUp

Evento que se genera cuando se libera una tecla que no es del sistema después de presionar.

El tipo de delegado para este evento es TypedEventHandler<TSender,TResult>, donde TSender es de tipo CoreWindow y TResult es de tipo KeyEventArgs.

PointerCaptureLost

Se produce cuando un puntero se mueve a otra aplicación. Este evento se genera después de PointerExited y es el evento final recibido por la aplicación para este puntero.

PointerEntered

Se produce cuando un puntero se mueve al rectángulo de selección de la aplicación.

PointerExited

Se produce cuando el puntero se mueve fuera del rectángulo de selección de la aplicación.

PointerMoved

Se produce cuando un puntero se mueve dentro del rectángulo de selección de la aplicación.

PointerPressed

Se produce cuando se hace clic en un botón del mouse o se toca la superficie del digitalizador mediante un dedo o lápiz, dentro del rectángulo delimitador de la aplicación.

Una sesión de interacción se inicia cuando se detecta un único contacto y finaliza cuando ese contacto y todos los contactos subsiguientes de la misma sesión ya no se detectan.

Este evento se desencadena para el primer contacto detectado en la sesión de interacción. Los detalles de todos los demás punteros de contacto simultáneos se exponen a través de un objeto PointerPointProperties (obtenido obteniendo la propiedad Properties de un objeto PointerPoint ).

PointerReleased

Se produce cuando se suelta un botón del mouse presionado o se levanta un contacto táctil o de lápiz de la superficie del digitalizador, dentro del rectángulo delimitador de la aplicación (o fuera del rectángulo delimitador, si se captura el puntero).

PointerRoutedAway

Se produce en el objeto de entrada que recibe la entrada del puntero cuando el puntero se redirige a otro objeto de entrada (posiblemente en un proceso independiente).

PointerRoutedReleased

Se produce en todos los objetos de entrada asociados, pero no recibe actualmente la entrada de , un puntero que desencadena un evento CoreIndependentInputSource.PointerReleased en un objeto de entrada.

PointerRoutedTo

Se produce cuando la entrada de puntero capturada se entregaba anteriormente a otro objeto, pasa a entregarse a este objeto.

PointerWheelChanged

Evento que se genera cuando se gira la rueda del mouse.

El tipo de delegado para este evento es TypedEventHandler<TSender,TResult>, donde TSender es de tipo CoreWindow y TResult es de tipo PointerEventArgs.

ResizeCompleted

Se produce cuando un usuario termina de cambiar el tamaño de la ventana.

ResizeStarted

Se produce cuando un usuario empieza a cambiar el tamaño de la ventana.

SizeChanged

Se produce cuando se cambia el tamaño de la ventana.

TouchHitTesting

Se produce cuando un área de contacto táctil interseca el rectángulo delimitador (o polígono) de una ventana registrada para las pruebas de posicionamiento táctil.

VisibilityChanged

Se desencadena cuando se cambia la visibilidad de la ventana.

Se aplica a

Consulte también