다음을 통해 공유


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를 호출한 다음 반환된 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를 검색합니다.

GetCurrentKeyEventDeviceId는 모든 입력 디바이스에서 지원되지 않습니다.

GetForCurrentThread()

현재 활성 스레드에 대한 CoreWindow instance 가져옵니다.

GetKeyState(VirtualKey)

가상 키의 상태를 검색합니다.

ReleasePointerCapture()

이전에 SetPointerCapture를 통해 연결된 경우 앱에서 포인터 입력을 분리하고 일반 포인터 입력 처리를 복원합니다.

SetPointerCapture()

포인터 입력을 앱과 연결합니다. 포인터가 캡처되면 해당 포인터와 연결된 모든 후속 이벤트가 앱에서 발생합니다.

이벤트

Activated

창이 활성화 또는 비활성화를 완료하면 발생합니다.

AutomationProviderRequested

자동화 처리기에 대한 요청이 생성될 때 발생합니다.

CharacterReceived

입력 큐에서 새 문자를 받을 때 발생합니다.

Closed

창이 닫혀 있거나 앱이 완전히 종료되면 발생합니다.

ClosestInteractiveBoundsRequested

참고

일반적인 용도로는 사용되지 않습니다.

프레임워크 입력 관리자가 특정 경계 사각형 내에서 특정 포인터에 가장 가까운 대화형 요소의 경계 사각형을 요청할 때 발생합니다.

InputEnabled

앱에 대한 입력을 사용하거나 사용하지 않도록 설정할 때 발생합니다.

KeyDown

비시스템 키를 누를 때 발생하는 이벤트입니다.

이 이벤트의 대리자 형식은 TypedEventHandler<TSender,TResult>입니다. 여기서 TSenderCoreWindow 형식이고 TResultKeyEventArgs 형식입니다.

KeyUp

시스템 키가 아닌 키를 누른 후 해제될 때 발생하는 이벤트입니다.

이 이벤트의 대리자 형식은 TypedEventHandler<TSender,TResult>입니다. 여기서 TSenderCoreWindow 형식이고 TResultKeyEventArgs 형식입니다.

PointerCaptureLost

포인터가 다른 앱으로 이동할 때 발생합니다. 이 이벤트는 PointerExited 이후에 발생하며 이 포인터에 대해 앱에서 받은 마지막 이벤트입니다.

PointerEntered

포인터가 앱의 경계 상자로 이동할 때 발생합니다.

PointerExited

포인터가 앱의 경계 상자 밖으로 이동할 때 발생합니다.

PointerMoved

포인터가 앱의 경계 상자 내에서 이동할 때 발생합니다.

PointerPressed

마우스 단추를 클릭하거나 디지타이저 표면이 앱의 경계 사각형 내에서 손가락이나 펜에 의해 터치되었을 때 발생합니다.

상호 작용 세션은 단일 연락처가 검색될 때 시작되고 해당 연락처와 동일한 세션의 모든 후속 연락처가 더 이상 검색되지 않을 때 종료됩니다.

이 이벤트는 상호 작용 세션에서 검색된 첫 번째 연락처에 대해 발생합니다. 다른 모든 동시 연락처 포인터에 대한 세부 정보는 PointerPointProperties 개체를 통해 노출됩니다(PointerPoint 개체에서 Properties 속성을 가져와서 얻음).

PointerReleased

누른 마우스 단추를 놓거나 앱의 경계 사각형 내에서(또는 포인터가 캡처된 경우 경계 사각형 외부) 디지타이저 표면에서 터치 또는 펜 접촉이 해제될 때 발생합니다.

PointerRoutedAway

포인터가 다른 입력 개체로 리디렉션될 때 포인터 입력을 수신하는 입력 개체에서 발생합니다(별도의 프로세스일 수 있음).

PointerRoutedReleased

입력 개체에서 CoreIndependentInputSource.PointerReleased 이벤트를 발생시키는 포인터와 연결되어 있지만 현재 입력을 받지 않는 모든 입력 개체에서 발생합니다.

PointerRoutedTo

캡처된 포인터 입력이 이전에 다른 개체로 전달되고 이 개체로 전달될 때 발생합니다.

PointerWheelChanged

마우스 휠을 회전할 때 발생하는 이벤트입니다.

이 이벤트의 대리자 형식은 TypedEventHandler<TSender,TResult>입니다. 여기서 TSenderCoreWindow 형식이고 TResultPointerEventArgs 형식입니다.

ResizeCompleted

사용자가 창 크기 조정을 완료할 때 발생합니다.

ResizeStarted

사용자가 창의 크기를 조정하기 시작할 때 발생합니다.

SizeChanged

창 크기가 변경되면 발생합니다.

TouchHitTesting

터치 접촉 영역이 터치 적중 테스트를 위해 등록된 창의 경계 사각형(또는 다각형)과 교차할 때 발생합니다.

VisibilityChanged

창 표시 유형이 변경되면 발생합니다.

적용 대상

추가 정보