CoreWindow Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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.
|
| 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. |