CoreWindow Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa o aplicativo UWP com eventos de entrada e comportamentos básicos da interface do usuário.
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
- Herança
- Atributos
- Implementações
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Comentários
Novas instâncias dessa classe são obtidas chamando CoreApplication.CreateNewView e inspecionando a propriedade CoreWindow na instância retornada do CoreApplicationView . Ou você pode obter instâncias CoreWindow existentes para um aplicativo em execução da propriedade CoreApplication.Views ou chamando CoreWindow.GetForCurrentThread, como visto no exemplo a seguir.
// 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);
}
Observação
Essa classe não é ágil, o que significa que você precisa considerar seu modelo de threading e comportamento de marshaling. Para obter mais informações, consulte Threading e Marshaling (C++/CX).
Histórico de versão
Versão do Windows | Versão do SDK | Valor adicionado |
---|---|---|
1511 | 10586 | PointerRoutedAway |
1511 | 10586 | PointerRoutedReleased |
1511 | 10586 | PointerRoutedTo |
1607 | 14393 | ClosestInteractiveBoundsRequested |
1607 | 14393 | GetCurrentKeyEventDeviceId |
1703 | 15063 | ResizeCompleted |
1703 | 15063 | ResizeStarted |
1.709 | 16299 | ActivationMode |
1.709 | 16299 | DispatcherQueue |
1903 | 18362 | UIContext |
Propriedades
ActivationMode |
Obtém um valor que indica o estado de ativação da janela. |
AutomationHostProvider |
Obtém o provedor de automação atribuído a essa janela. |
Bounds |
Obtém um valor rect que contém a origem, altura e largura da área do cliente da janela, em DIPs (pixels independentes do dispositivo). |
CustomProperties |
Obtém o conjunto de propriedades personalizadas para a janela. |
Dispatcher |
Obtém o dispatcher de eventos para a janela. |
DispatcherQueue |
Obtém o DispatcherQueue para a janela. |
FlowDirection |
Obtém ou define a origem horizontal do alinhamento da ordem de leitura da janela. Se o idioma especificado pela interface do usuário estiver alinhado à direita (como em árabe ou hebraico), a origem horizontal do layout de leitura da janela estará na borda direita. |
IsInputEnabled |
Obtém ou define um valor que indica se a entrada está habilitada para o aplicativo. |
PointerCursor |
Obtém ou define o cursor de ponteiro usado pelo aplicativo. |
PointerPosition |
Obtém as coordenadas do cliente do ponteiro. |
UIContext |
Obtém o identificador de contexto para a janela principal. |
Visible |
Obtém um valor que indica se a janela está visível. |
Métodos
Activate() |
Ativa a janela. Esse método é chamado para apresentar a janela na tela. |
Close() |
Fecha uma janela secundária e sai do loop de mensagem. |
GetAsyncKeyState(VirtualKey) |
Recupera de forma assíncrona o estado de uma chave virtual. |
GetCurrentKeyEventDeviceId() |
Recupera a ID exclusiva para o dispositivo de entrada que gerou esse evento de chave.
|
GetForCurrentThread() |
Obtém a instância CoreWindow para o thread ativo no momento. |
GetKeyState(VirtualKey) |
Recupera o estado de uma chave virtual. |
ReleasePointerCapture() |
Dissocia a entrada de ponteiro do aplicativo, se associada anteriormente por meio de SetPointerCapture, e restaura o processamento normal de entrada de ponteiro. |
SetPointerCapture() |
Associa a entrada de ponteiro ao aplicativo. Depois que um ponteiro é capturado, todos os eventos subsequentes associados a esse ponteiro são disparados pelo aplicativo. |
Eventos
Activated |
É acionado quando a janela conclui a ativação ou a desativação. |
AutomationProviderRequested |
É acionado quando uma solicitação para um manipulador de automação é gerada. |
CharacterReceived |
É acionado quando um novo caractere é recebido pela fila de entrada. |
Closed |
Ocorre quando uma janela é fechada (ou o aplicativo termina completamente). |
ClosestInteractiveBoundsRequested |
Observação Não destinado ao uso geral. Ocorre quando um gerenciador de entrada de estrutura solicita o retângulo delimitador de um elemento interativo dentro de um retângulo delimitador específico e mais próximo de um ponteiro específico. |
InputEnabled |
Ocorre quando a entrada está habilitada ou desabilitada para o aplicativo. |
KeyDown |
O evento gerado quando uma tecla que não é do sistema é pressionada. O tipo delegado para esse evento é TypedEventHandler<TSender,TResult>, em que TSender é do tipo CoreWindow e TResult é do tipo KeyEventArgs. |
KeyUp |
O evento gerado quando uma tecla que não é do sistema é liberada após uma imprensa. O tipo delegado para esse evento é TypedEventHandler<TSender,TResult>, em que TSender é do tipo CoreWindow e TResult é do tipo KeyEventArgs. |
PointerCaptureLost |
Ocorre quando um ponteiro é movido para outro aplicativo. Esse evento é gerado após PointerExited e é o evento final recebido pelo aplicativo para esse ponteiro. |
PointerEntered |
Ocorre quando um ponteiro se move para a caixa delimitadora do aplicativo. |
PointerExited |
Ocorre quando o ponteiro se move para fora da caixa delimitadora do aplicativo. |
PointerMoved |
Ocorre quando um ponteiro se move dentro da caixa delimitadora do aplicativo. |
PointerPressed |
Ocorre quando um botão do mouse é clicado ou a superfície do digitalizador é tocada por um dedo ou caneta, dentro do retângulo delimitador do aplicativo. Uma sessão de interação começa quando um único contato é detectado e termina quando esse contato, e todos os contatos subsequentes na mesma sessão, não são mais detectados. Esse evento é acionado para o primeiro contato detectado na sessão de interação. Os detalhes de todos os outros ponteiros de contato simultâneos são expostos por meio de um objeto PointerPointProperties (obtido pela obtenção da propriedade Properties de um objeto PointerPoint ). |
PointerReleased |
Ocorre quando um botão do mouse pressionado é liberado ou um contato de toque ou caneta é retirado da superfície do digitalizador, dentro do retângulo delimitador do aplicativo (ou fora do retângulo delimitador, se o ponteiro for capturado). |
PointerRoutedAway |
Ocorre no objeto de entrada que recebe a entrada do ponteiro quando o ponteiro é redirecionado para outro objeto de entrada (possivelmente em um processo separado). |
PointerRoutedReleased |
Ocorre em todos os objetos de entrada já associados, mas não recebendo entrada no momento, um ponteiro que dispara um evento CoreIndependentInputSource.PointerReleased em um objeto de entrada. |
PointerRoutedTo |
Ocorre quando a entrada de ponteiro capturada anteriormente sendo entregue a outro objeto faz a transição para ser entregue a esse objeto. |
PointerWheelChanged |
O evento gerado quando a roda do mouse é girada. O tipo de delegado para esse evento é TypedEventHandler<TSender,TResult>, em que TSender é do tipo CoreWindow e TResult é do tipo PointerEventArgs. |
ResizeCompleted |
Ocorre quando um usuário conclui o redimensionamento da janela. |
ResizeStarted |
Ocorre quando um usuário começa a redimensionar a janela. |
SizeChanged |
Ocorre quando o tamanho da janela é alterado. |
TouchHitTesting |
Ocorre quando uma área de contato por toque cruza o retângulo delimitador (ou polígono) de uma janela registrada para teste de toque. |
VisibilityChanged |
É acionado quando a visibilidade da janela é alterada. |