CoreWindow Classe

Définition

Représente l’application UWP avec des événements d’entrée et des comportements d’interface utilisateur de base.

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
Héritage
Object Platform::Object IInspectable CoreWindow
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Remarques

Les nouvelles instances de cette classe sont obtenues en appelant CoreApplication.CreateNewView, puis en inspectant la propriété CoreWindow sur le instance CoreApplicationView retourné. Vous pouvez également obtenir des instances CoreWindow existantes pour une application en cours d’exécution à partir de la propriété CoreApplication.Views , ou en appelant CoreWindow.GetForCurrentThread, comme indiqué dans l’exemple suivant.

// 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);
}

Notes

Cette classe n’est pas agile, ce qui signifie que vous devez prendre en compte son modèle de thread et son comportement de marshaling. Pour plus d’informations, consultez Threading and Marshaling (C++/CX).

Historique des versions

Version de Windows Version du SDK Valeur ajoutée
1511 10586 PointerRoutedAway
1511 10586 PointerRoutedReleased
1511 10586 PointerRoutedTo
1607 14393 ClosestInteractiveBoundsRequested
1607 14393 GetCurrentKeyEventDeviceId
1703 15063 ResizeCompleted
1703 15063 RedimensionnementDémarré
1709 16299 ActivationMode
1709 16299 DispatcherQueue
1903 18362 UIContext

Propriétés

ActivationMode

Obtient une valeur qui indique l’état d’activation de la fenêtre.

AutomationHostProvider

Obtient le fournisseur d’automatisation affecté à cette fenêtre.

Bounds

Obtient une valeur Rect qui contient l’origine, la hauteur et la largeur de la zone cliente de la fenêtre, en pixels indépendants de l’appareil (DIPs).

CustomProperties

Obtient l’ensemble de propriétés personnalisées pour la fenêtre.

Dispatcher

Obtient le répartiteur d’événements pour la fenêtre.

DispatcherQueue

Obtient le DispatcherQueue de la fenêtre.

FlowDirection

Obtient ou définit l’origine horizontale de l’alignement de l’ordre de lecture de la fenêtre. Si la langue spécifiée par l’interface utilisateur est alignée à droite (par exemple, en arabe ou en hébreu), l’origine horizontale de la disposition de lecture de la fenêtre se trouve sur le bord droit.

IsInputEnabled

Obtient ou définit une valeur qui indique si l’entrée est activée pour l’application.

PointerCursor

Obtient ou définit le curseur de pointeur utilisé par l’application.

PointerPosition

Obtient les coordonnées client du pointeur.

UIContext

Obtient l’identificateur de contexte de la fenêtre principale.

Visible

Obtient une valeur qui indique si la fenêtre est visible.

Méthodes

Activate()

Active la fenêtre. Cette méthode est appelée pour présenter la fenêtre à l’écran.

Close()

Ferme une fenêtre secondaire et quitte la boucle du message.

GetAsyncKeyState(VirtualKey)

Récupère de manière asynchrone l’état d’une clé virtuelle.

GetCurrentKeyEventDeviceId()

Récupère l’ID unique de l’appareil d’entrée qui a généré cet événement clé.

GetCurrentKeyEventDeviceId n’est pas pris en charge pour tous les appareils d’entrée.

GetForCurrentThread()

Obtient le instance CoreWindow pour le thread actif.

GetKeyState(VirtualKey)

Récupère l’état d’une clé virtuelle.

ReleasePointerCapture()

Dissocie l’entrée de pointeur de l’application, si elle est précédemment associée via SetPointerCapture, et restaure le traitement normal des entrées de pointeur.

SetPointerCapture()

Associe l’entrée de pointeur à l’application. Une fois qu’un pointeur est capturé, tous les événements suivants associés à ce pointeur sont déclenchés par l’application.

Événements

Activated

Est déclenché lorsque la fenêtre termine l’activation ou la désactivation.

AutomationProviderRequested

Est déclenché lorsqu’une demande pour un gestionnaire Automation est générée.

CharacterReceived

Est déclenché lorsqu’un nouveau caractère est reçu par la file d’attente d’entrée.

Closed

Se produit lorsqu’une fenêtre est fermée (ou que l’application se termine complètement).

ClosestInteractiveBoundsRequested

Notes

Non destiné à une utilisation générale.

Se produit lorsqu’un gestionnaire d’entrées d’infrastructure demande le rectangle englobant d’un élément interactif dans un rectangle englobant spécifique et le plus proche d’un pointeur spécifique.

InputEnabled

Se produit lorsque l’entrée est activée ou désactivée pour l’application.

KeyDown

Événement déclenché lorsqu’une touche non système est enfoncée.

Le type de délégué pour cet événement est TypedEventHandler<TSender,TResult>, où TSender est de type CoreWindow et TResult est de type KeyEventArgs.

KeyUp

Événement déclenché lorsqu’une clé non système est relâchée après une pression.

Le type de délégué pour cet événement est TypedEventHandler<TSender,TResult>, où TSender est de type CoreWindow et TResult est de type KeyEventArgs.

PointerCaptureLost

Se produit lorsqu’un pointeur se déplace vers une autre application. Cet événement est déclenché après PointerExited et est l’événement final reçu par l’application pour ce pointeur.

PointerEntered

Se produit lorsqu’un pointeur se déplace dans le cadre englobant de l’application.

PointerExited

Se produit lorsque le pointeur se déplace en dehors de la zone englobante de l’application.

PointerMoved

Se produit lorsqu’un pointeur se déplace dans le cadre englobant de l’application.

PointerPressed

Se produit lorsque vous cliquez sur un bouton de la souris ou que la surface du numériseur a été touchée par un doigt ou un stylet, dans le rectangle englobant de l’application.

Une session d’interaction démarre lorsqu’un contact unique est détecté et se termine lorsque ce contact et tous les contacts suivants de la même session ne sont plus détectés.

Cet événement est déclenché pour le premier contact détecté dans la session d’interaction. Les détails de tous les autres pointeurs de contact simultanés sont exposés via un objet PointerPointProperties (obtenu en obtenant la propriété Properties à partir d’un objet PointerPoint ).

PointerReleased

Se produit lorsqu’un bouton appuyé de la souris est relâché ou qu’un contact tactile ou stylet est levé de la surface du numériseur, dans le rectangle englobant de l’application (ou à l’extérieur du rectangle englobant, si le pointeur est capturé).

PointerRoutedAway

Se produit sur l’objet d’entrée qui reçoit l’entrée de pointeur lorsque le pointeur est redirigé vers un autre objet d’entrée (éventuellement dans un processus distinct).

PointerRoutedReleased

Se produit sur tous les objets d’entrée jamais associés à un pointeur qui déclenche un événement CoreIndependentInputSource.PointerReleased sur un objet d’entrée.

PointerRoutedTo

Se produit lorsque l’entrée de pointeur capturée est précédemment remise à un autre objet, et qu’elle est remise à cet objet.

PointerWheelChanged

Événement déclenché lors de la rotation de la roulette de la souris.

Le type de délégué pour cet événement est TypedEventHandler<TSender,TResult>, où TSender est de type CoreWindow et TResult est de type PointerEventArgs.

ResizeCompleted

Se produit lorsqu’un utilisateur termine le redimensionnement de la fenêtre.

ResizeStarted

Se produit lorsqu’un utilisateur commence à redimensionner la fenêtre.

SizeChanged

Se produit lorsque la taille de la fenêtre est modifiée.

TouchHitTesting

Se produit lorsqu’une zone de contact tactile croise le rectangle englobant (ou polygone) d’une fenêtre inscrite pour le test d’accès tactile.

VisibilityChanged

Est déclenché lorsque la visibilité de la fenêtre est modifiée.

S’applique à

Voir aussi