Поделиться через


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 Platform::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 ResizeCompleted
1703 15063 ResizeStarted
1709 16299 ActivationMode
1709 16299 DispatcherQueue
1903 18362 UIContext

Свойства

ActivationMode

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

AutomationHostProvider

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

Bounds

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

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

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

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

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