Partilhar via


CoreWindow Classe

Definição

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
Object Platform::Object IInspectable CoreWindow
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.

Não há suporte para GetCurrentKeyEventDeviceId para todos os dispositivos de entrada.

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.

Aplica-se a

Confira também