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
- Наследование
- Атрибуты
- Реализации
Требования к 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() |
Извлекает уникальный идентификатор устройства ввода, создающего это ключевое событие.
|
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 |
Активируется при изменении видимости окна. |