CBaseWindow 클래스
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
클래스는 CBaseWindow
창을 관리하기 위한 기본 클래스입니다. 비디오 렌더러가 이 클래스를 사용하여 비디오 창을 만들 수 있습니다. 이 클래스를 사용하려면 에서 CBaseWindow
상속되는 파생 클래스를 만듭니다. 파생 클래스에서:
- 창 스타일을 정의하는 순수 가상 메서드 CBaseWindow::GetClassWindowStyles를 구현합니다.
- 창 메시지를 처리하는 CBaseWindow::OnReceiveMessage 메서드를 재정의합니다.
- CBaseWindow::D oneWithWindow 메서드를 호출하는 소멸자를 구현합니다.
파생 클래스의 instance 사용하기 전에 CBaseWindow::P repareWindow 메서드를 호출합니다.
보호된 멤버 변수 | Description |
---|---|
m_hInstance | 모듈 instance 처리합니다. |
M_hwnd | 개체의 창에 대한 핸들입니다. |
m_hdc | 창의 디바이스 컨텍스트에 대한 핸들입니다. |
m_Width | 클라이언트 영역의 너비(픽셀)입니다. |
m_Height | 클라이언트 영역의 높이(픽셀)입니다. |
m_bActivated | 창이 활성화되었는지 여부를 지정하는 플래그입니다. |
m_pClassName | 창 클래스의 이름을 포함하는 정적 문자열입니다. |
m_ClassStyles | 창의 클래스 스타일입니다. |
m_WindowStyles | 창의 창 스타일입니다. |
m_WindowStylesEx | 창에 대한 확장 창 스타일입니다. |
m_ShowStageMessage | 창을 포그라운드로 가져오는 프라이빗 메시지입니다. |
m_ShowStageTop | 창 스타일을 WS_EX_TOPMOST 설정하는 프라이빗 메시지입니다. |
m_RealizePalette | 팔레트를 실현하는 프라이빗 메시지입니다. |
m_MemoryDC | 메모리 디바이스 컨텍스트에 대한 핸들입니다. |
m_hPalette | 창의 색상표에 대한 핸들입니다. |
m_bNoRealize | 창이 색상표를 실현해야 하는지 여부를 지정하는 플래그입니다. |
m_bBackground | 색상표가 배경 팔레트여야 하는지 여부를 지정하는 플래그입니다. |
m_bRealizing | 새 팔레트가 실현되는지 여부를 지정하는 플래그입니다. |
m_WindowLock | 개체에 대한 액세스를 직렬화하기 위한 중요 섹션입니다. |
m_bDoGetDC | 디바이스 컨텍스트를 검색할지 여부를 지정하는 플래그입니다. |
m_bDoPostToDestroy | 창이 삭제 메시지를 게시하거나 보낼지 여부를 지정하는 플래그입니다. |
Protected 메서드 | Description |
OnPaletteChange | 팔레트 변경 메시지를 처리합니다. 가상. |
Public 메서드 | Description |
CBaseWindow | 생성자 메서드입니다. |
DoneWithWindow | 창을 삭제합니다. 가상. |
PrepareWindow | 창을 만듭니다. 가상. |
InactivateWindow | 창을 비활성화합니다. 가상. |
ActivateWindow | 파생 클래스의 요구 사항에 따라 창 크기를 조정합니다. 가상. |
OnSize | WM_SIZE 메시지를 처리합니다. 가상. |
OnClose | WM_CLOSE 메시지를 처리합니다. 가상. |
GetDefaultRect | 클라이언트 영역의 기본 크기를 검색합니다. 가상. |
UninitialiseWindow | 창의 리소스를 해제합니다. 가상. |
InitialiseWindow | 창을 초기화합니다. 가상. |
CompleteConnect | 렌더러의 입력 핀이 연결되었음을 창에 알립니다. |
DoCreateWindow | 창을 만듭니다. |
PerformanceAlignWindow | 최대 성능을 위해 창을 DWORD 경계에 맞춥니다. |
DoShowWindow | 창의 표시 상태를 설정합니다. |
PaintWindow | 창이 다시 그려지도록 합니다. |
DoSetWindowForeground | 창을 포그라운드로 가져옵니다. |
SetPalette | 창에 대한 팔레트를 설치합니다. 가상. |
SetRealize | 창에서 팔레트를 실현하는지 여부를 지정합니다. |
DoRealisePalette | 창의 현재 팔레트를 인식합니다. 가상. |
PossiblyEatMessage | 파생 클래스가 메시지를 다른 창으로 전달할 수 있도록 합니다. 가상. |
GetWindowWidth | 창의 현재 너비를 검색합니다. |
GetWindowHeight | 창의 현재 높이를 검색합니다. |
GetWindowHWND | 창에 대한 핸들을 검색합니다. |
GetMemoryHDC | 메모리 디바이스 컨텍스트에 대한 핸들을 검색합니다. |
GetWindowHDC | 창의 디바이스 컨텍스트에 대한 핸들을 검색합니다. |
OnReceiveMessage | 창 메시지를 처리합니다. 가상. |
UnsetPalette | 창의 현재 팔레트를 삭제하고 기본 시스템 팔레트를 복원합니다. |
순수 가상 메서드 | Description |
GetClassWindowStyles | 창의 클래스 스타일 및 창 스타일을 검색합니다. |
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|