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 |
Активируется при изменении видимости окна. |