Condividi tramite


CoreWindow Classe

Definizione

Rappresenta l'app UWP con eventi di input e comportamenti di base dell'interfaccia utente.

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
Ereditarietà
Object Platform::Object IInspectable CoreWindow
Attributi
Implementazioni

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Commenti

Le nuove istanze di questa classe vengono ottenute chiamando CoreApplication.CreateNewView e quindi controllando la proprietà CoreWindow nell'istanza di CoreApplicationView restituita. In alternativa, è possibile ottenere istanze coreWindow esistenti per un'app in esecuzione dalla proprietà CoreApplication.Views o chiamando CoreWindow.GetForCurrentThread, come illustrato nell'esempio seguente.

// 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

Questa classe non è agile, il che significa che è necessario considerare il modello di threading e il comportamento di marshalling. Per altre info, vedi Threading e marshalling (C++/CX).

Cronologia delle versioni

Versione di Windows Versione dell'SDK Valore aggiunto
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

Proprietà

ActivationMode

Ottiene un valore che indica lo stato di attivazione della finestra.

AutomationHostProvider

Ottiene il provider di automazione assegnato a questa finestra.

Bounds

Ottiene un valore Rect che contiene l'origine, l'altezza e la larghezza dell'area client della finestra, in pixel indipendenti dal dispositivo (DIP).

CustomProperties

Ottiene il set di proprietà personalizzate per la finestra.

Dispatcher

Ottiene il dispatcher eventi per la finestra.

DispatcherQueue

Ottiene dispatcherQueue per la finestra.

FlowDirection

Ottiene o imposta l'origine orizzontale dell'allineamento dell'ordine di lettura della finestra. Se la lingua specificata dall'interfaccia utente è allineata a destra (ad esempio in arabo o ebraico), l'origine orizzontale del layout di lettura per la finestra si trova sul bordo destro.

IsInputEnabled

Ottiene o imposta un valore che indica se l'input è abilitato per l'app.

PointerCursor

Ottiene o imposta il cursore del puntatore utilizzato dall'app.

PointerPosition

Ottiene le coordinate client del puntatore.

UIContext

Ottiene l'identificatore di contesto per la finestra principale.

Visible

Ottiene un valore che indica se la finestra è visibile.

Metodi

Activate()

Attiva la finestra. Questo metodo viene chiamato per presentare la finestra sullo schermo.

Close()

Chiude una finestra secondaria ed esce dal ciclo di messaggi.

GetAsyncKeyState(VirtualKey)

Recupera in modo asincrono lo stato di una chiave virtuale.

GetCurrentKeyEventDeviceId()

Recupera l'ID univoco per il dispositivo di input che ha generato questo evento chiave.

GetCurrentKeyEventDeviceId non è supportato per tutti i dispositivi di input.

GetForCurrentThread()

Ottiene l'istanza di CoreWindow per il thread attualmente attivo.

GetKeyState(VirtualKey)

Recupera lo stato di una chiave virtuale.

ReleasePointerCapture()

Annulla l'associazione dell'input del puntatore dall'app, se precedentemente associato tramite SetPointerCapture e ripristina l'elaborazione normale dell'input del puntatore.

SetPointerCapture()

Associa l'input del puntatore all'app. Dopo l'acquisizione di un puntatore, tutti gli eventi successivi associati a tale puntatore vengono attivati dall'app.

Eventi

Activated

Viene attivato quando la finestra completa l'attivazione o la disattivazione.

AutomationProviderRequested

Viene generato quando viene generata una richiesta per un gestore di automazione.

CharacterReceived

Viene generato quando viene ricevuto un nuovo carattere dalla coda di input.

Closed

Si verifica quando una finestra viene chiusa (o l'app termina completamente).

ClosestInteractiveBoundsRequested

Nota

Non destinato all'uso generale.

Si verifica quando un gestore di input del framework richiede il rettangolo di delimitazione di un elemento interattivo all'interno di un rettangolo di delimitazione specifico e più vicino a un puntatore specifico.

InputEnabled

Si verifica quando l'input è abilitato o disabilitato per l'app.

KeyDown

Evento generato quando viene premuto un tasto non di sistema.

Il tipo delegato per questo evento è TypedEventHandler<TSender,TResult>, dove TSender è di tipo CoreWindow e TResult è di tipo KeyEventArgs.

KeyUp

Evento generato quando un tasto non di sistema viene rilasciato dopo una pressione.

Il tipo delegato per questo evento è TypedEventHandler<TSender,TResult>, dove TSender è di tipo CoreWindow e TResult è di tipo KeyEventArgs.

PointerCaptureLost

Si verifica quando un puntatore passa a un'altra app. Questo evento viene generato dopo PointerExited ed è l'evento finale ricevuto dall'app per questo puntatore.

PointerEntered

Si verifica quando un puntatore si sposta nel rettangolo di selezione dell'app.

PointerExited

Si verifica quando il puntatore si sposta all'esterno del rettangolo di selezione dell'app.

PointerMoved

Si verifica quando un puntatore si sposta all'interno del rettangolo di selezione dell'app.

PointerPressed

Si verifica quando si fa clic su un pulsante del mouse o la superficie del digitalizzatore è stata toccata da un dito o da una penna, all'interno del rettangolo di delimitazione dell'app.

Una sessione di interazione inizia quando viene rilevato un singolo contatto e termina quando il contatto e tutti i contatti successivi nella stessa sessione non vengono più rilevati.

Questo evento viene generato per il primo contatto rilevato nella sessione di interazione. I dettagli per tutti gli altri puntatori a contatto simultanei vengono esposti tramite un oggetto PointerPointProperties (ottenuto ottenendo la proprietà Properties da un oggetto PointerPoint ).

PointerReleased

Si verifica quando viene rilasciato un pulsante del mouse premuto oppure un contatto tocco o penna viene sollevato dalla superficie del digitalizzatore, all'interno del rettangolo di delimitazione dell'app (o all'esterno del rettangolo di delimitazione, se viene acquisito il puntatore).

PointerRoutedAway

Si verifica nell'oggetto di input che riceve l'input del puntatore quando il puntatore viene reindirizzato a un altro oggetto di input (possibilmente in un processo separato).

PointerRoutedReleased

Si verifica in tutti gli oggetti di input associati, ma non attualmente ricevono input da, un puntatore che genera un evento CoreIndependentInputSource.PointerReleased su un oggetto di input.

PointerRoutedTo

Si verifica quando l'input del puntatore acquisito in precedenza viene recapitato a un altro oggetto, passa al recapito a questo oggetto.

PointerWheelChanged

Evento generato quando la rotellina del mouse viene ruotata.

Il tipo delegato per questo evento è TypedEventHandler<TSender,TResult>, dove TSender è di tipo CoreWindow e TResult è di tipo PointerEventArgs.

ResizeCompleted

Si verifica quando un utente termina il ridimensionamento della finestra.

ResizeStarted

Si verifica quando un utente inizia a ridimensionare la finestra.

SizeChanged

Si verifica quando viene modificata la dimensione della finestra.

TouchHitTesting

Si verifica quando un'area di contatto tocco interseca il rettangolo di delimitazione (o poligono) di una finestra registrata per l'hit testing tocco.

VisibilityChanged

Viene generato quando viene modificata la visibilità della finestra.

Si applica a

Vedi anche