CoreWindow 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
입력 이벤트 및 기본 사용자 인터페이스 동작이 있는 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를 호출한 다음 반환된 CoreApplicationView instance CoreWindow 속성을 검사하여 가져옵니다. 또는 다음 예제와 같이 CoreApplication.Views 속성 또는 CoreWindow.GetForCurrentThread를 호출하여 실행 중인 앱에 대한 기존 CoreWindow 인스턴스를 가져올 수 있습니다.
// 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 |
창의 클라이언트 영역의 원점, 높이 및 너비를 디바이스 독립적 픽셀(DIP)으로 포함하는 Rect 값을 가져옵니다. |
CustomProperties |
창에 대한 사용자 지정 속성 집합을 가져옵니다. |
Dispatcher |
창에 대한 이벤트 디스패처를 가져옵니다. |
DispatcherQueue |
창에 대한 DispatcherQueue 를 가져옵니다. |
FlowDirection |
창의 읽기 순서 맞춤의 가로 원점 을 가져오거나 설정합니다. 사용자 인터페이스에서 지정한 언어가 오른쪽 맞춤(예: 아랍어 또는 히브리어)인 경우 창에 대한 읽기 레이아웃의 가로 원점이 오른쪽 가장자리에 있습니다. |
IsInputEnabled |
앱에 대한 입력을 사용할 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다. |
PointerCursor |
앱에서 사용하는 포인터 커서를 가져오거나 설정합니다. |
PointerPosition |
포인터의 클라이언트 좌표를 가져옵니다. |
UIContext |
핵심 창의 컨텍스트 식별자를 가져옵니다. |
Visible |
창이 표시되는지 여부를 나타내는 값을 가져옵니다. |
메서드
Activate() |
창을 활성화합니다. 이 메서드는 화면에 창을 표시하기 위해 호출됩니다. |
Close() |
보조 창을 닫고 메시지 루프를 종료합니다. |
GetAsyncKeyState(VirtualKey) |
가상 키의 상태를 비동기적으로 검색합니다. |
GetCurrentKeyEventDeviceId() |
이 키 이벤트를 생성한 입력 디바이스의 고유 ID를 검색합니다.
|
GetForCurrentThread() |
현재 활성 스레드에 대한 CoreWindow instance 가져옵니다. |
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 개체를 통해 노출됩니다(PointerPoint 개체에서 Properties 속성을 가져와서 얻음). |
PointerReleased |
누른 마우스 단추를 놓거나 앱의 경계 사각형 내에서(또는 포인터가 캡처된 경우 경계 사각형 외부) 디지타이저 표면에서 터치 또는 펜 접촉이 해제될 때 발생합니다. |
PointerRoutedAway |
포인터가 다른 입력 개체로 리디렉션될 때 포인터 입력을 수신하는 입력 개체에서 발생합니다(별도의 프로세스일 수 있음). |
PointerRoutedReleased |
입력 개체에서 CoreIndependentInputSource.PointerReleased 이벤트를 발생시키는 포인터와 연결되어 있지만 현재 입력을 받지 않는 모든 입력 개체에서 발생합니다. |
PointerRoutedTo |
캡처된 포인터 입력이 이전에 다른 개체로 전달되고 이 개체로 전달될 때 발생합니다. |
PointerWheelChanged |
마우스 휠을 회전할 때 발생하는 이벤트입니다. 이 이벤트의 대리자 형식은 TypedEventHandler<TSender,TResult>입니다. 여기서 TSender 는 CoreWindow 형식이고 TResult 는 PointerEventArgs 형식입니다. |
ResizeCompleted |
사용자가 창 크기 조정을 완료할 때 발생합니다. |
ResizeStarted |
사용자가 창의 크기를 조정하기 시작할 때 발생합니다. |
SizeChanged |
창 크기가 변경되면 발생합니다. |
TouchHitTesting |
터치 접촉 영역이 터치 적중 테스트를 위해 등록된 창의 경계 사각형(또는 다각형)과 교차할 때 발생합니다. |
VisibilityChanged |
창 표시 유형이 변경되면 발생합니다. |