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 IInspectable CoreWindow
특성
구현

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

설명

이 클래스의 새 인스턴스는 반환 CoreApplicationView 된 인스턴스에서 속성을 호출 CoreApplication.CreateNewView 한 다음 검사하여 CoreWindow 가져옵니다. 또는 다음 예제와 같이 속성에서 CoreApplication.Views 실행 중인 앱에 대한 기존 CoreWindow 인스턴스를 가져오거나 호출 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

창의 경계 사각형을 가져옵니다.

CustomProperties

창에 대한 사용자 지정 속성 집합을 가져옵니다.

Dispatcher

창에 대한 이벤트 디스패처를 가져옵니다.

DispatcherQueue

창에 대한 DispatcherQueue 를 가져옵니다.

FlowDirection

창의 읽기 순서 맞춤의 가로 원점 값을 가져오거나 설정합니다. 사용자 인터페이스에서 지정한 언어가 오른쪽 맞춤(예: 아랍어 또는 히브리어)인 경우 창에 대한 읽기 레이아웃의 가로 원점이 오른쪽 가장자리에 있습니다.

IsInputEnabled

앱에 대해 입력을 사용할 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.

PointerCursor

앱에서 사용하는 포인터 커서를 가져오거나 설정합니다.

PointerPosition

포인터의 클라이언트 좌표를 가져옵니다.

UIContext

핵심 창의 컨텍스트 식별자를 가져옵니다.

Visible

창이 표시되는지 여부를 나타내는 값을 가져옵니다.

메서드

Activate()

창을 활성화합니다. 이 메서드는 화면에 창을 표시하기 위해 호출됩니다.

Close()

보조 창을 닫고 메시지 루프를 종료합니다.

GetAsyncKeyState(VirtualKey)

가상 키의 상태를 비동기적으로 검색합니다.

GetCurrentKeyEventDeviceId()

이 키 이벤트를 생성한 입력 디바이스의 고유 ID를 검색합니다.

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

GetForCurrentThread()

CoreWindow 현재 활성 스레드의 인스턴스를 가져옵니다.

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

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

적용 대상

추가 정보