CoreWindow Класс

Определение

Представляет приложение UWP с событиями ввода и базовым поведением пользовательского интерфейса.

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
Наследование
Object IInspectable CoreWindow
Атрибуты
Реализации

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Комментарии

Новые экземпляры этого класса получаются путем вызова CoreApplication.CreateNewView , а затем проверки свойства CoreWindow на возвращенном экземпляре CoreApplicationView . Вы также можете получить существующие экземпляры CoreWindow для работающего приложения из свойства CoreApplication.Views или путем вызова CoreWindow.GetForCurrentThread, как показано в следующем примере.

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

Примечание

Этот класс не является гибким, что означает, что необходимо учитывать его потоковую модель и поведение маршалинга. Дополнительные сведения см. в разделе "Потоки и маршалинг" (C++/CX).

Журнал версий

Версия Windows Версия пакета SDK Добавлено значение
1511 10586 PointerRoutedAway
1511 10586 PointerRoutedReleased
1511 10586 PointerRoutedTo
1607 14393 ClosestInteractiveBoundsRequested
1607 14393 GetCurrentKeyEventDeviceId
1703 15063 Изменение размера
1703 15063 ResizeStarted
1709 16299 ActivationMode
1709 16299 DispatcherQueue
1903 18362 UIContext

Свойства

ActivationMode

Возвращает значение, указывающее состояние активации окна.

AutomationHostProvider

Возвращает поставщик автоматизации, назначенный этому окну.

Bounds

Возвращает ограничивающий прямоугольник окна.

CustomProperties

Возвращает набор настраиваемых свойств для окна.

Dispatcher

Возвращает диспетчер событий для окна.

DispatcherQueue

Возвращает DispatcherQueue для окна.

FlowDirection

Возвращает или задает горизонтальный источник выравнивания порядка чтения окна. Если язык, указанный в пользовательском интерфейсе, выровнен по правому краю (например, на арабском или иврите), горизонтальный источник макета чтения для окна находится на правом краю.

IsInputEnabled

Возвращает или задает значение, указывающее, включены ли входные данные для приложения.

PointerCursor

Возвращает или задает курсор указателя, используемый приложением.

PointerPosition

Возвращает координаты клиента указателя.

UIContext

Возвращает идентификатор контекста для основного окна.

Visible

Возвращает значение, указывающее, является ли окно видимым.

Методы

Activate()

Активирует окно. Этот метод вызывается для представления окна на экране.

Close()

Закрывает дополнительное окно и завершает цикл сообщений.

GetAsyncKeyState(VirtualKey)

Асинхронно извлекает состояние виртуального ключа.

GetCurrentKeyEventDeviceId()

Извлекает уникальный идентификатор для устройства ввода, создающего это ключевое событие.

GetCurrentKeyEventDeviceId не поддерживается для всех устройств ввода.

GetForCurrentThread()

Возвращает экземпляр CoreWindow для активного потока.

GetKeyState(VirtualKey)

Извлекает состояние виртуального ключа.

ReleasePointerCapture()

Отсоединяет входные данные указателя от приложения, если оно ранее связано с помощью SetPointerCapture, и восстанавливает обычную обработку ввода указателя.

SetPointerCapture()

Связывает ввод указателя с приложением. После захвата указателя все последующие события, связанные с этим указателем, активируются приложением.

События

Activated

Запускается, когда окно завершает активацию или деактивацию.

AutomationProviderRequested

Вызывается при создании запроса обработчика автоматизации.

CharacterReceived

Вызывается при получении нового символа входной очередью.

Closed

Происходит, когда окно закрывается (или приложение завершается полностью).

ClosestInteractiveBoundsRequested

Примечание

Не предназначено для общего использования.

Происходит, когда диспетчер входных данных платформы запрашивает ограничивающий прямоугольник интерактивного элемента в определенном ограничивающем прямоугольнике и ближе всего к определенному указателю.

InputEnabled

Происходит, когда входные данные включены или отключены для приложения.

KeyDown

Событие, возникающее при нажатии клавиши, отличной от системы.

Тип делегата для этого события — TypedEventHandler<TSender,TResult>, где TSender имеет тип CoreWindow, а TResult имеет тип KeyEventArgs.

KeyUp

Событие, возникающее при освобождении несистемного ключа после нажатия.

Тип делегата для этого события — TypedEventHandler<TSender,TResult>, где TSender имеет тип CoreWindow, а TResult имеет тип KeyEventArgs.

PointerCaptureLost

Происходит при перемещении указателя на другое приложение. Это событие возникает после PointerExited и является последним событием, полученным приложением для этого указателя.

PointerEntered

Происходит при перемещении указателя в ограничивающий прямоугольник приложения.

PointerExited

Происходит при перемещении указателя за пределы ограничивающего прямоугольника приложения.

PointerMoved

Происходит при перемещении указателя в ограничивающий прямоугольник приложения.

PointerPressed

Происходит при нажатии кнопки мыши или касания поверхности дигитайзера пальцем или пером в ограничивающем прямоугольнике приложения.

Сеанс взаимодействия начинается, когда обнаруживается один контакт и заканчивается, когда этот контакт и все последующие контакты в одном сеансе больше не обнаруживаются.

Это событие запускается для первого контакта, обнаруженного в сеансе взаимодействия. Сведения обо всех других параллельных указателях контактов предоставляются через объект PointerPointProperties (полученный путем получения свойства Properties из объекта PointerPoint ).

PointerReleased

Происходит при освобождении нажатой кнопки мыши или сенсорного контакта или контакта пера с поверхности дигитайзера в ограничивающем прямоугольнике приложения (или за пределами ограничивающего прямоугольника, если указатель захватывается).

PointerRoutedAway

Происходит на входном объекте, принимающем входные данные указателя, когда указатель перенаправляется на другой входной объект (возможно, в отдельном процессе).

PointerRoutedReleased

Происходит на всех входных объектах, с которыми когда-либо связан, но в настоящее время не получая входные данные, указателем, который вызывает событие CoreIndependentInputSource.PointerReleased для входного объекта.

PointerRoutedTo

Происходит, когда захваченные входные данные указателя ранее доставляются другому объекту, переходят на доставку этому объекту.

PointerWheelChanged

Событие, возникающее при повороте колесика мыши.

Тип делегата для этого события — TypedEventHandler<TSender,TResult>, где TSender имеет тип CoreWindow, а TResult имеет тип PointerEventArgs.

ResizeCompleted

Происходит, когда пользователь завершает изменение размера окна.

ResizeStarted

Происходит, когда пользователь начинает изменять размер окна.

SizeChanged

Происходит при изменении размера окна.

TouchHitTesting

Возникает, когда контактная область касания пересекает ограничивающий прямоугольник (или многоугольник) окна, зарегистрированного для проверки нажатия касания.

VisibilityChanged

Активируется при изменении видимости окна.

Применяется к

См. также раздел