CWnd 클래스

MFC 라이브러리의 모든 Window 클래스의 기본적인 기능을 제공합니다.

구문

class CWnd : public CCmdTarget

멤버

공용 생성자

속성 설명
CWnd::CWnd CWnd 개체를 생성합니다.

공용 메서드

이름 설명
CWnd::accDoDefaultAction 개체의 기본 동작을 수행하기 위해 프레임워크에서 호출됩니다.
CWnd::accHitTest 화면의 지정된 지점에서 자식 요소나 자식 개체를 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::accLocation 지정된 개체의 현재 화면 위치를 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::accNavigate 컨테이너 내에서 다른 사용자 인터페이스 요소로 트래버스하고 가능할 경우 개체를 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::accSelect 선택 영역을 수정하거나 지정된 개체의 키보드 포커스를 이동하기 위해 프레임워크에서 호출됩니다.
CWnd::AnimateWindow 연결된 창 개체를 애니메이션합니다.
CWnd::ArrangeIconicWindows 모든 최소화된(아이콘) 자식 창을 정렬합니다.
CWnd::Attach Windows 핸들을 CWnd 개체에 연결합니다.
CWnd::BeginModalState 프레임 창을 모달로 만들기 위해 이 멤버 함수를 호출합니다.
CWnd::BeginPaint 그리기를 위해 CWnd를 준비합니다.
CWnd::BindDefaultProperty 형식 라이브러리에 표시된 대로 호출하는 개체의 바인딩된 기본 단순 속성을 데이터 소스 컨트롤과 연결된 커서에 바인딩합니다.
CWnd::BindProperty 데이터 바인딩된 컨트롤의 커서 바인딩된 속성을 데이터 소스 컨트롤에 바인딩하고 MFC 바인딩 관리자에 해당 관계를 등록합니다.
CWnd::BringWindowToTop CWnd를 겹치는 창 스택의 맨 위로 이동합니다.
CWnd::CalcWindowRect 클라이언트 사각형에서 창 사각형을 계산하기 위해 호출됩니다.
CWnd::CancelToolTips 도구 설명 컨트롤을 사용하지 않도록 설정합니다.
CWnd::CenterWindow 부모를 기준으로 창을 가운데 맞춤합니다.
CWnd::ChangeClipboardChain 클립보드 뷰어 체인에서 CWnd를 제거합니다.
CWnd::CheckDlgButton 단추 컨트롤 옆에 확인 표시를 배치하거나 이 컨트롤에서 확인 표시를 제거합니다.
CWnd::CheckRadioButton 지정된 라디오 단추를 선택하고 지정된 단추 그룹의 다른 모든 라디오 단추에서 확인 표시를 제거합니다.
CWnd::ChildWindowFromPoint 자식 창 중에서 지정된 점이 있는 창(있는 경우)을 확인합니다.
CWnd::ClientToScreen 디스플레이에서 지정된 점이나 사각형의 클라이언트 좌표를 화면 좌표로 변환합니다.
CWnd::CloseWindow 창을 최소화합니다.
CWnd::ContinueModal 창의 모달 상태를 계속 유지합니다.
CWnd::Create CWnd 개체와 연결된 자식 창을 만들고 초기화합니다.
CWnd::CreateAccessibleProxy 지정된 개체에 대해 Active Accessibility 프록시를 만듭니다.
CWnd::CreateCaret 시스템 캐럿에 대한 새 셰이프를 만들고 캐럿의 소유권을 가져옵니다.
CWnd::CreateControl MFC 프로그램에서 CWnd 개체로 표현될 ActiveX 컨트롤을 만듭니다.
CWnd::CreateEx 겹친 Windows 팝업 또는 자식 창을 만들고 CWnd 개체에 연결합니다.
CWnd::CreateGrayCaret 시스템 캐럿에 대한 회색 블록을 만들고 캐럿의 소유권을 가져옵니다.
CWnd::CreateSolidCaret 시스템 캐럿에 대한 단색 블록을 만들고 캐럿의 소유권을 가져옵니다.
CWnd::DeleteTempMap CWinApp 유휴 시간 처리기에서 자동으로 호출되고 FromHandle에서 만든 임시 CWnd 개체를 삭제합니다.
CWnd::DestroyWindow 연결된 Windows 창을 제거합니다.
CWnd::Detach CWnd 개체에서 Windows 핸들을 분리하고 핸들을 반환합니다.
CWnd::DlgDirList 파일 또는 디렉터리 목록으로 목록 상자를 채웁니다.
CWnd::DlgDirListComboBox 파일 또는 디렉터리 목록으로 콤보 상자의 목록 상자를 채웁니다.
CWnd::DlgDirSelect 목록 상자에서 현재 선택 영역을 검색합니다.
CWnd::DlgDirSelectComboBox 콤보 상자의 목록 상자에서 현재 선택 영역을 검색합니다.
CWnd::DragAcceptFiles 창에서 끌어온 파일을 수락할지를 나타냅니다.
CWnd::DragDetect 마우스를 캡처하고 사용자가 왼쪽 단추를 놓거나, Esc 키를 누르거나, 지정된 점 주위의 끌기 사각형 밖으로 마우스를 이동할 때까지 이동을 추적합니다.
CWnd::DrawAnimatedRects 와이어프레임 사각형을 그리고 애니메이션하여 아이콘 열기 또는 창의 최소화나 최대화를 나타냅니다.
CWnd::DrawCaption 캡션을 그립니다.
CWnd::DrawMenuBar 메뉴 모음을 다시 그립니다.
CWnd::EnableActiveAccessibility 사용자 정의 Active Accessibility 함수를 사용하도록 설정합니다.
CWnd::EnableDynamicLayout 사용자가 창의 크기를 조정하면 자식 창의 위치 및 크기가 동적으로 조정되도록 합니다.
CWnd::EnableD2DSupport D2D 지원을 사용하거나 사용하지 않도록 설정합니다. 주 창이 초기화되기 전에 이 메서드를 호출합니다.
CWnd::EnableScrollBar 스크롤 막대의 화살표 하나 또는 둘 다를 사용하거나 사용하지 않도록 설정합니다.
CWnd::EnableScrollBarCtrl 형제 스크롤 막대 컨트롤을 사용하거나 사용하지 않도록 설정합니다.
CWnd::EnableToolTips 도구 설명 컨트롤을 사용하도록 설정합니다.
CWnd::EnableTrackingToolTips 추적 모드에서 도구 설명 컨트롤을 사용하도록 설정합니다.
CWnd::EnableWindow 마우스 및 키보드 입력을 사용하거나 사용하지 않도록 설정합니다.
CWnd::EndModalLoop 창의 모달 상태를 종료합니다.
CWnd::EndModalState 프레임 창을 모달에서 모덜리스로 변경하려면 이 멤버 함수를 호출합니다.
CWnd::EndPaint 그리기의 끝을 표시합니다.
CWnd::ExecuteDlgInit 대화 상자 리소스를 시작합니다.
CWnd::FilterToolTipMessage 대화 상자에서 컨트롤과 연결된 제목 또는 텍스트를 검색합니다.
CWnd::FindWindow 창 이름 및 창 클래스로 식별되는 창의 핸들을 반환합니다.
CWnd::FindWindowEx 창 이름 및 창 클래스로 식별되는 창의 핸들을 반환합니다.
CWnd::FlashWindow 창을 한 번 깜박입니다.
CWnd::FlashWindowEx 추가 기능으로 창을 깜박입니다.
CWnd::FromHandle 창에 핸들을 지정한 경우 CWnd 개체에 대한 포인터를 반환합니다. 개체가 CWnd 핸들에 연결되지 않은 경우 임시 CWnd 개체가 만들어지고 연결됩니다.
CWnd::FromHandlePermanent 창에 핸들을 지정한 경우 CWnd 개체에 대한 포인터를 반환합니다.
CWnd::get_accChild 지정된 자식의 IDispatch 인터페이스 주소를 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accChildCount 이 개체에 속하는 자식 수를 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accDefaultAction 개체의 기본 작업을 설명하는 문자열을 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accDescription 지정한 개체의 모양을 설명하는 문자열을 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accFocus 키보드 포커스가 있는 개체를 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accHelp 개체의 도움말 속성 문자열을 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accHelpTopic 지정된 개체와 연결된 WinHelp 파일의 전체 경로와 해당 파일 내의 해당 항목의 식별자를 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accKeyboardShortcut 지정된 개체의 바로 가기 키 또는 선택키를 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accName 지정된 개체의 이름을 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accParent 개체 부모의 IDispatch 인터페이스를 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accRole 지정된 개체의 역할을 설명하는 정보를 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accSelection 이 개체의 선택된 자식 개체를 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accState 지정된 개체의 현재 상태를 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::get_accValue 지정된 개체의 값을 검색하기 위해 프레임워크에서 호출됩니다.
CWnd::GetActiveWindow 활성 창을 검색합니다.
CWnd::GetAncestor 지정된 창의 상위 창 개체를 검색합니다.
CWnd::GetCapture 마우스 캡처가 있는 CWnd를 검색합니다.
CWnd::GetCaretPos 캐럿 현재 위치의 클라이언트 좌표를 검색합니다.
CWnd::GetCheckedRadioButton 단추 그룹에서 현재 선택된 라디오 단추의 ID를 반환합니다.
CWnd::GetClientRect CWnd 클라이언트 영역의 차원을 가져옵니다.
CWnd::GetClipboardOwner 클립보드의 현재 소유자에 대한 포인터를 검색합니다.
CWnd::GetClipboardViewer 클립보드 뷰어 체인에서 첫 번째 창에 대한 포인터를 검색합니다.
CWnd::GetControlUnknown 알 수 없는 ActiveX 컨트롤에 대한 포인터를 검색합니다.
CWnd::GetDC 클라이언트 영역에 대한 디스플레이 컨텍스트를 검색합니다.
CWnd::GetDCEx 클라이언트 영역에 대한 디스플레이 컨텍스트를 검색하고 그리는 동안 클리핑을 사용하도록 설정합니다.
CWnd::GetDCRenderTarget CWnd 창에 대한 DC(디바이스 컨텍스트) 렌더링 대상을 검색합니다.
CWnd::GetDescendantWindow 모든 하위 창을 검색하고 지정된 ID를 사용하는 창을 반환합니다.
CWnd::GetDesktopWindow Windows 바탕 화면 창을 검색합니다.
CWnd::GetDlgCtrlID CWnd가 자식 창인 경우 이 함수를 호출하면 해당 ID 값이 반환됩니다.
CWnd::GetDlgItem 지정된 대화 상자에서 지정된 ID를 사용하여 컨트롤을 검색합니다.
CWnd::GetDlgItemInt 지정된 대화 상자에서 컨트롤의 텍스트를 정수 값으로 변환합니다.
CWnd::GetDlgItemText 컨트롤에 연결된 텍스트 또는 캡션을 검색합니다.
CWnd::GetDSCCursor 데이터 소스 컨트롤의 데이터 소스, 사용자 이름, 암호 및 SQL 속성으로 정의된 기본 커서에 대한 포인터를 검색합니다.
CWnd::GetDynamicLayout 동적 레이아웃 관리자 개체에 대한 포인터를 검색합니다.
CWnd::GetExStyle 창의 확장된 스타일을 반환합니다.
CWnd::GetFocus 현재 입력 포커스가 있는 CWnd를 검색합니다.
CWnd::GetFont 현재 글꼴을 검색합니다.
CWnd::GetForegroundWindow 전경 창(사용자가 현재 작업 중인 최상위 창)에 대한 포인터를 반환합니다.
CWnd::GetIcon 아이콘에 대한 핸들을 검색합니다.
CWnd::GetLastActivePopup CWnd가 소유한 팝업 창이 가장 최근에 활성화되었는지 확인합니다.
CWnd::GetLayeredWindowAttributes 계층적 창의 불투명도 및 투명도 색상 키를 검색합니다.
CWnd::GetMenu 지정된 메뉴에 대한 포인터를 검색합니다.
CWnd::GetNextDlgGroupItem 컨트롤 그룹 내에서 다음(또는 이전) 컨트롤을 검색합니다.
CWnd::GetNextDlgTabItem 지정된 컨트롤 WS_TABSTOP 을 따르거나 앞에 오는 스타일을 사용하여 첫 번째 컨트롤을 검색합니다.
CWnd::GetNextWindow 창 관리자의 목록에서 다음(또는 이전) 창을 반환합니다.
CWnd::GetOleControlSite 지정된 ActiveX 컨트롤에 대한 사용자 지정 사이트를 검색합니다.
CWnd::GetOpenClipboardWindow 현재 클립보드가 열려 있는 창에 대한 포인터를 검색합니다.
CWnd::GetOwner CWnd의 소유자에 대한 포인터를 검색합니다.
CWnd::GetParent CWnd의 부모 창(있는 경우)을 검색합니다.
CWnd::GetParentFrame CWnd 개체의 부모 프레임 창을 검색합니다.
CWnd::GetParentOwner 자식 창의 부모 창에 대한 포인터를 반환합니다.
CWnd::GetProperty ActiveX 컨트롤 속성을 검색합니다.
CWnd::GetRenderTarget 이 창에 연결된 렌더링 대상을 가져옵니다.
CWnd::GetSafeHwnd 포인터가 NULL이면 NULL을 this 반환m_hWnd합니다.
CWnd::GetSafeOwner 지정된 창에 대한 안전한 소유자를 검색합니다.
CWnd::GetScrollBarCtrl 형제 스크롤 막대 컨트롤을 반환합니다.
CWnd::GetScrollBarInfo 지정한 스크롤 막대에 대한 정보를 검색합니다.
CWnd::GetScrollInfo SCROLLINFO 구조체에서 스크롤 막대에 대해 유지 관리하는 정보를 검색합니다.
CWnd::GetScrollLimit 스크롤 막대의 한계를 검색합니다.
CWnd::GetScrollPos 스크롤 상자의 현재 위치를 검색합니다.
CWnd::GetScrollRange 지정된 스크롤 막대에 대해 현재 최소 및 최대 스크롤 막대 위치를 복사합니다.
CWnd::GetStyle 현재 창 스타일을 반환합니다.
CWnd::GetSystemMenu 애플리케이션에서 복사 및 수정을 위해 컨트롤 메뉴에 액세스할 수 있도록 합니다.
CWnd::GetTitleBarInfo 지정된 제목 표시줄에 대한 정보를 검색합니다.
CWnd::GetTopLevelFrame 창의 최상위 프레임 창을 검색합니다.
CWnd::GetTopLevelOwner 최상위 창을 검색합니다.
CWnd::GetTopLevelParent 창의 최상위 부모를 검색합니다.
CWnd::GetTopWindow CWnd에 속하는 첫 번째 자식 창을 반환합니다.
CWnd::GetUpdateRect CWnd 업데이트 영역을 완전히 둘러싸는 가장 작은 사각형의 좌표를 검색합니다.
CWnd::GetUpdateRgn CWnd 업데이트 영역을 검색합니다.
CWnd::GetWindow 이 창에 대해 지정된 관계를 갖는 창을 반환합니다.
CWnd::GetWindowContextHelpId 도움말 컨텍스트 식별자를 검색합니다.
CWnd::GetWindowDC 캡션 표시줄, 메뉴 및 스크롤 막대를 포함하여 전체 창에 대한 디스플레이 컨텍스트를 검색합니다.
CWnd::GetWindowedChildCount 연결된 자식 창의 수를 반환합니다.
CWnd::GetWindowInfo 창에 대한 정보를 반환합니다.
CWnd::GetWindowlessChildCount 연결된 창 없는 자식 창의 수를 반환합니다.
CWnd::GetWindowPlacement 창의 표시 상태와 일반(복원됨), 최소화 및 최대화 위치를 검색합니다.
CWnd::GetWindowRect CWnd의 화면 좌표를 가져옵니다.
CWnd::GetWindowRgn 창의 창 영역에 대한 복사본을 검색합니다.
CWnd::GetWindowText 창 텍스트 또는 캡션 제목(있는 경우)을 반환합니다.
CWnd::GetWindowTextLength 창의 텍스트 또는 캡션 제목의 길이를 반환합니다.
CWnd::HideCaret 디스플레이 화면에서 제거하여 캐럿을 숨깁니다.
CWnd::HiliteMenuItem 최상위(메뉴 모음) 메뉴 항목에서 강조 표시하거나 강조 표시를 제거합니다.
CWnd::HtmlHelp HTMLHelp 애플리케이션을 시작하기 위해 호출됩니다.
CWnd::Invalidate 전체 클라이언트 영역을 무효화합니다.
CWnd::InvalidateRect 현재 업데이트 영역에 지정된 사각형을 추가하여 해당 사각형 내에서 클라이언트 영역을 무효화합니다.
CWnd::InvalidateRgn 현재 업데이트 영역에 지정된 영역을 추가하여 해당 영역 내에서 클라이언트 영역을 무효화합니다.
CWnd::InvokeHelper ActiveX 컨트롤 메서드나 속성을 호출합니다.
CWnd::IsChild CWnd가 자식 창인지 지정된 창의 다른 직계 하위 항목인지를 나타냅니다.
CWnd::IsD2DSupportEnabled D2D 지원을 사용할 수 있는지 여부를 확인합니다.
CWnd::IsDialogMessage 지정된 메시지가 모덜리스 대화 상자용인지 확인하고 그럴 경우 처리합니다.
CWnd::IsDlgButtonChecked 단추 컨트롤이 선택되어 있는지 여부를 확인합니다.
CWnd::IsDynamicLayoutEnabled 이 창에서 동적 레이아웃이 사용되는지 여부를 확인합니다. 동적 레이아웃이 사용되는 경우 사용자가 부모 창의 크기를 조정하면 자식 창의 위치 및 크기가 변경될 수 있습니다.
CWnd::IsIconic CWnd가 최소화(아이콘)되었는지 여부를 확인합니다.
CWnd::IsTouchWindow CWnd가 터치를 지원하는지 여부를 지정합니다.
CWnd::IsWindowEnabled 마우스 및 키보드 입력에 창을 사용할 수 있는지 여부를 확인합니다.
CWnd::IsWindowVisible 창이 표시되는지 여부를 확인합니다.
CWnd::IsZoomed CWnd이 최대화되었는지 여부를 확인합니다.
CWnd::KillTimer 시스템 타이머를 종료합니다.
CWnd::LockWindowUpdate 지정된 창에서 그리기를 사용하지 않거나 다시 사용하도록 설정합니다.
CWnd::MapWindowPoints CWnd의 좌표 공간에서 다른 창의 좌표 공간으로 점 집합(맵)을 변환합니다.
CWnd::MessageBox 애플리케이션에서 제공하는 메시지 및 캡션을 포함하는 창을 만들고 표시합니다.
CWnd::ModifyStyle 현재 창 스타일을 수정합니다.
CWnd::ModifyStyleEx 창의 확장된 스타일을 수정합니다.
CWnd::MoveWindow CWnd의 위치 및 크기를 변경합니다.
CWnd::NotifyWinEvent 미리 정의된 이벤트가 발생한 시스템에 신호를 보냅니다.
CWnd::OnAmbientProperty 앰비언트 속성 값을 구현합니다.
CWnd::OnDrawIconicThumbnailOrLivePreview Windows 7 탭 미리 보기 또는 애플리케이션 피킹(Peeking)용 클라이언트에 표시할 비트맵을 가져와야 하는 경우 프레임워크에서 호출됩니다.
CWnd::OnHelp 현재 컨텍스트를 사용하여 애플리케이션 내에서 F1 도움말을 처리합니다.
CWnd::OnHelpFinder ID_HELP_FINDERID_DEFAULT_HELP 명령을 처리합니다.
CWnd::OnHelpIndex ID_HELP_INDEX 명령을 처리하고 기본 도움말 항목을 제공합니다.
CWnd::OnHelpUsing 명령을 처리합니다 ID_HELP_USING .
CWnd::OnToolHitTest 점이 지정된 도구의 경계 사각형에 있는지 여부를 확인하고 도구에 대한 정보를 검색합니다.
CWnd::OpenClipboard 클립보드를 엽니다. 다른 애플리케이션은 Windows CloseClipboard 함수가 호출될 때까지 클립보드를 수정할 수 없습니다.
CWnd::PaintWindowlessControls 컨트롤 컨테이너에서 창 없는 컨트롤을 그립니다.
CWnd::PostMessage 애플리케이션 큐에 메시지를 배치한 다음 창에서 메시지를 처리할 때까지 기다리지 않고 반환합니다.
CWnd::PreCreateWindow CWnd 개체에 연결된 Windows 창을 만들기 전에 호출됩니다.
CWnd::PreSubclassWindow 호출되기 전에 SubclassWindow 다른 필요한 서브클래싱이 발생할 수 있도록 허용합니다.
CWnd::PreTranslateMessage TranslateMessageDispatchMessage Windows 함수로 디스패치되기 전에 CWinApp에서 창 메시지를 필터링하는 데 사용됩니다.
CWnd::Print 지정된 디바이스 컨텍스트에서 현재 창을 그립니다.
CWnd::PrintClient 지정된 디바이스 컨텍스트(일반적으로 프린터 디바이스 컨텍스트)에서 창을 그립니다.
CWnd::PrintWindow 지정된 디바이스 컨텍스트(일반적으로 프린터 DC)에 시각적 창을 복사합니다.
CWnd::RedrawWindow 클라이언트 영역에서 지정된 사각형 또는 영역을 업데이트합니다.
CWnd::RegisterTouchWindow 창 Windows Touch 지원을 등록/등록 취소합니다.
CWnd::ReleaseDC 클라이언트 및 창 디바이스 컨텍스트를 해제하여 다른 애플리케이션에서 사용하도록 확보합니다.
CWnd::RepositionBars 클라이언트 영역에서 컨트롤 막대의 위치를 변경합니다.
CWnd::RunModalLoop 모달 상태에 있는 창에 대한 메시지를 검색, 변환 또는 디스패치합니다.
CWnd::ScreenToClient 디스플레이에 있는 지정된 점 또는 사각형의 화면 좌표를 클라이언트 좌표로 변환합니다.
CWnd::ScrollWindow 클라이언트 영역의 내용을 스크롤합니다.
CWnd::ScrollWindowEx 클라이언트 영역의 내용을 스크롤합니다. ScrollWindow와 유사하며 추가 기능을 제공합니다.
CWnd::SendChildNotifyLastMsg 부모 창에서 자식 창에 알림 메시지를 제공하여 자식 창에서 작업을 처리할 수 있도록 합니다.
CWnd::SendDlgItemMessage 지정된 컨트롤에 메시지를 보냅니다.
CWnd::SendMessage CWnd 개체에 메시지를 보내고 메시지를 처리할 때까지 반환하지 않습니다.
CWnd::SendMessageToDescendants 창의 모든 하위 창에 메시지를 보냅니다.
CWnd::SendNotifyMessage 호출 스레드에서 창을 만들었는지 여부에 따라 지정된 메시지를 창에 보내고 최대한 빨리 반환합니다.
CWnd::SetActiveWindow 창을 활성화합니다.
CWnd::SetCapture 모든 후속 마우스 입력을 CWnd로 보내도록 합니다.
CWnd::SetCaretPos 지정된 위치로 캐럿을 이동합니다.
CWnd::SetClipboardViewer 클립보드의 내용이 변경될 때마다 알림을 받는 창 체인에 CWnd를 추가합니다.
CWnd::SetDlgCtrlID 창(대화 상자의 컨트롤만이 아니라 모든 자식 창이 될 수 있음)에 대해 창 또는 컨트롤 ID를 설정합니다.
CWnd::SetDlgItemInt 컨트롤의 텍스트를 정수 값을 나타내는 문자열로 설정합니다.
CWnd::SetDlgItemText 지정된 대화 상자에서 컨트롤의 캡션 또는 텍스트를 설정합니다.
CWnd::SetFocus 입력 포커스를 클레임합니다.
CWnd::SetFont 현재 글꼴을 설정합니다.
CWnd::SetForegroundWindow 창을 만든 스레드를 전경으로 전환하고 창을 활성화합니다.
CWnd::SetIcon 핸들을 특정 아이콘으로 설정합니다.
CWnd::SetLayeredWindowAttributes 계층적 창의 불투명도 및 투명도 색상 키를 설정합니다.
CWnd::SetMenu 메뉴를 지정된 메뉴로 설정합니다.
CWnd::SetOwner CWnd의 소유자를 변경합니다.
CWnd::SetParent 부모 창을 변경합니다.
CWnd::SetProperty ActiveX 컨트롤 속성을 설정합니다.
CWnd::SetRedraw CWnd의 변경 내용을 다시 그리도록 허용하거나 변경 내용을 다시 그릴 수 없도록 방지합니다.
CWnd::SetScrollInfo 스크롤 막대에 대한 정보를 설정합니다.
CWnd::SetScrollPos 스크롤 상자의 현재 위치를 설정하고, 지정된 경우 새 위치를 반영하도록 스크롤 막대를 다시 그립니다.
CWnd::SetScrollRange 지정된 스크롤 막대에 대한 최소 및 최대 위치 값을 설정합니다.
CWnd::SetTimer 트리거될 때 메시지를 보내는 시스템 타이머를 WM_TIMER 설치합니다.
CWnd::SetWindowContextHelpId 도움말 컨텍스트 식별자를 설정합니다.
CWnd::SetWindowPlacement 창의 표시 상태와 일반(복원됨), 최소화 및 최대화 위치를 설정합니다.
CWnd::SetWindowPos 자식, 팝업 및 최상위 창의 크기, 위치 및 순서를 변경합니다.
CWnd::SetWindowRgn 창의 영역을 설정합니다.
CWnd::SetWindowText 창 텍스트 또는 캡션 제목(있는 경우)을 지정된 텍스트로 설정합니다.
CWnd::ShowCaret 캐럿의 현재 위치에서 디스플레이의 캐럿을 표시합니다. 표시되면 캐럿이 자동으로 깜박이기 시작합니다.
CWnd::ShowOwnedPopups 창이 소유한 모든 팝업 창을 표시하거나 숨깁니다.
CWnd::ShowScrollBar 스크롤 막대를 표시하거나 숨깁니다.
CWnd::ShowWindow 창을 표시하거나 숨깁니다.
CWnd::SubclassDlgItem Windows 컨트롤을 CWnd 개체에 연결하고 CWnd의 메시지 맵을 통해 메시지를 라우팅하도록 합니다.
CWnd::SubclassWindow 창을 CWnd 개체에 연결하고 CWnd의 메시지 맵을 통해 메시지를 라우팅하도록 합니다.
CWnd::UnlockWindowUpdate CWnd::LockWindowUpdate로 잠긴 창의 잠금을 해제합니다.
CWnd::UnsubclassWindow 개체에서 창을 분리합니다.CWnd
CWnd::UpdateData 대화 상자에서 데이터를 초기화하거나 검색합니다.
CWnd::UpdateDialogControls 대화 상자 단추 및 다른 컨트롤의 상태를 업데이트하기 위해 호출합니다.
CWnd::UpdateLayeredWindow 계층적 창의 위치, 크기, 모양, 내용 및 투명도를 업데이트합니다.
CWnd::UpdateWindow 클라이언트 영역을 업데이트합니다.
CWnd::ValidateRect 현재 업데이트 영역에서 사각형을 제거하여 지정된 사각형 내에서 클라이언트 영역의 유효성을 검색합니다.
CWnd::ValidateRgn 현재 업데이트 영역에서 영역을 제거하여 지정된 영역 내에서 클라이언트 영역의 유효성을 검사합니다.
CWnd::WindowFromPoint 지정된 점을 포함하는 창을 식별합니다.
CWnd::WinHelp WinHelp 애플리케이션을 시작하기 위해 호출됩니다.

보호된 메서드

속성 설명
CWnd::Default 기본 창 프로시저를 호출하여 애플리케이션에서 처리하지 않는 모든 창 메시지에 대해 기본 처리를 제공합니다.
CWnd::DefWindowProc 기본 창 프로시저를 호출하여 애플리케이션에서 처리하지 않는 모든 창 메시지에 대해 기본 처리를 제공합니다.
CWnd::DoDataExchange 대화 상자 데이터 교환 및 유효성 검사용입니다. UpdateData에 의해 호출됩니다.
CWnd::GetCurrentMessage 이 창에서 현재 처리 중인 메시지에 대한 포인터를 반환합니다. 메시지 처리기 멤버 함수에서 OnMessage 만 호출해야 합니다.
CWnd::InitDynamicLayout 창에 대한 동적 레이아웃을 초기화하기 위해 프레임워크에서 호출됩니다.
CWnd::LoadDynamicLayoutResource 리소스 파일에서 동적 레이아웃 정보를 로드합니다.
CWnd::OnActivate CWnd가 활성화되거나 비활성화되고 있을 때 호출됩니다.
CWnd::OnActivateApp 애플리케이션이 활성화되거나 비활성화되려고 할 때 호출됩니다.
CWnd::OnAppCommand 사용자가 애플리케이션 명령 이벤트를 생성할 때 호출됩니다.
CWnd::OnAskCbFormatName 클립보드 소유자가 클립보드 내용을 표시할 때 클립보드 뷰어 애플리케이션에서 호출됩니다.
CWnd::OnCancelMode CWnd에서 마우스 캡처와 같은 내부 모드를 취소할 수 있도록 허용하기 위해 호출됩니다.
CWnd::OnCaptureChanged 마우스 캡처가 손실되고 있는 창에 메시지를 보냅니다.
CWnd::OnChangeCbChain 지정된 창이 체인에서 제거됨을 알립니다.
CWnd::OnChangeUIState UI(사용자 인터페이스) 상태를 변경해야 할 때 호출됩니다.
CWnd::OnChar 키 입력이 시스템 문자 이외의 문자로 변환될 때 호출됩니다.
CWnd::OnCharToItem 메시지에 대한 응답으로 스타일이 LBS_WANTKEYBOARDINPUT 있는 자식 목록 상자에서 호출됩니다 WM_CHAR .
CWnd::OnChildActivate CWnd의 크기 또는 위치가 변경되거나 CWnd가 활성화될 때마다 MDI(다중 문서 인터페이스) 자식 창에 대해 호출됩니다.
CWnd::OnChildNotify 알림 컨트롤이 컨트롤 알림에 응답할 수 있는 기회를 제공하기 위해 부모 창에서 호출됩니다.
CWnd::OnClipboardUpdate 클립보드의 내용이 변경될 때 호출됩니다.
CWnd::OnClose CWnd를 닫아야 한다는 신호로 호출됩니다.
CWnd::OnColorizationColorChanged 비클라이언트 영역에 대한 렌더링 정책이 변경된 경우 호출됩니다.
CWnd::OnCommand 사용자가 명령을 선택할 때 호출됩니다.
CWnd::OnCompacting Windows에서 시스템 메모리 부족을 감지할 때 호출됩니다.
CWnd::OnCompareItem 정렬된 소유자 그리기 자식 콤보 상자 또는 목록 상자에서 새 항목의 상대 위치를 확인하기 위해 호출됩니다.
CWnd::OnCompositionChanged DWM(바탕 화면 창 관리자) 컴퍼지션을 사용하거나 사용하지 않도록 설정할 때 모든 최상위 창에 대해 호출됩니다.
CWnd::OnContextMenu 사용자가 창에서 오른쪽 마우스 단추를 클릭할 때 호출됩니다.
CWnd::OnCopyData 애플리케이션 간에 데이터를 복사합니다.
CWnd::OnCreate 창 만들기의 일부로 호출됩니다.
CWnd::OnCtlColor 컨트롤을 그리려고 할 때 CWnd가 컨트롤의 부모인 경우 호출됩니다.
CWnd::OnDeadChar 키 입력이 비시스템 데드 문자(예: 악센트 문자)로 변환될 때 호출됩니다.
CWnd::OnDeleteItem 소유자 그리기 자식 목록 상자 또는 콤보 상자가 제거되거나 컨트롤에서 항목이 제거될 때 호출됩니다.
CWnd::OnDestroy CWnd가 제거되고 있을 때 호출됩니다.
CWnd::OnDestroyClipboard Windows EmptyClipboard 함수에 대한 호출을 통해 클립보드를 비울 때 호출됩니다.
CWnd::OnDeviceChange 디바이스 또는 컴퓨터의 하드웨어 구성 변경을 애플리케이션 또는 디바이스 드라이버에 알립니다.
CWnd::OnDevModeChange 사용자가 디바이스 모드 설정을 변경할 때 모든 최상위 창에 대해 호출됩니다.
CWnd::OnDrawClipboard 클립보드의 내용이 변경될 때 호출됩니다.
CWnd::OnDrawItem 소유자 그리기 자식 단추 컨트롤, 콤보 상자 컨트롤, 목록 상자 컨트롤 또는 메뉴의 시각적 측면을 그려야 할 때 호출됩니다.
CWnd::OnDropFiles 삭제된 파일의 수신자로 자신을 등록한 창에 대해 사용자가 왼쪽 마우스 단추를 놓을 때 호출됩니다.
CWnd::OnEnable CWnd가 사용하거나 사용하지 않도록 설정될 때 호출됩니다.
CWnd::OnEndSession 세션이 종료되고 있을 때 호출됩니다.
CWnd::OnEnterIdle 모달 대화 상자 또는 메뉴가 유휴 상태로 전환하고 있음을 애플리케이션의 주 창 프로시저에 알리기 위해 호출됩니다.
CWnd::OnEnterMenuLoop 메뉴 모달 루프가 시작된 경우 호출됩니다.
CWnd::OnEnterSizeMove 영향을 받는 창이 모달 루프의 이동 또는 크기 조정을 시작한 후 호출됩니다.
CWnd::OnEraseBkgnd 창 배경을 지워야 하는 경우 호출됩니다.
CWnd::OnExitMenuLoop 메뉴 모달 루프가 종료된 경우 호출됩니다.
CWnd::OnExitSizeMove 영향을 받는 창이 모달 루프의 이동 또는 코기 조정을 종료한 후 호출됩니다.
CWnd::OnFontChange 글꼴 리소스 풀이 변경될 때 호출됩니다.
CWnd::OnGetDlgCode 컨트롤에서 화살표 키 및 Tab 키 입력 자체를 처리할 수 있도록 컨트롤에 대해 호출됩니다.
CWnd::OnGetMinMaxInfo Windows에서 최대화된 위치 또는 크기, 최소 또는 최대 추적 크기를 알고 있어야 할 때마다 호출됩니다.
CWnd::OnHelpInfo 사용자가 F1 키를 누를 때 프레임워크에서 호출됩니다.
CWnd::OnHotKey 사용자가 시스템 차원 바로 가기 키를 누를 때 호출됩니다.
CWnd::OnHScroll 사용자가 CWnd의 가로 스크롤 막대를 클릭할 때 호출됩니다.
CWnd::OnHScrollClipboard 클립보드 소유자가 클립보드 이미지를 스크롤하고, 적절한 섹션을 무효화하고, 스크롤 막대 값을 업데이트해야 하는 경우 호출됩니다.
CWnd::OnIconEraseBkgnd CWnd가 최소화(아이콘)되고 아이콘을 그리기 전에 아이콘의 배경을 채워야 하는 경우 호출됩니다.
CWnd::OnInitMenu 메뉴가 활성화되려고 할 때 호출됩니다.
CWnd::OnInitMenuPopup 팝업 메뉴가 활성화되려고 할 때 호출됩니다.
CWnd::OnInputDeviceChange 시스템에서 I/O 디바이스를 추가하거나 제거할 때 호출됩니다.
CWnd::OnInputLangChange 애플리케이션의 입력 언어가 변경된 후 호출됩니다.
CWnd::OnInputLangChangeRequest 사용자가 새 입력 언어를 선택할 때 호출됩니다.
CWnd::OnKeyDown 시스템 키 이외의 키를 누를 때 호출됩니다.
CWnd::OnKeyUp 시스템 키 이외의 키를 놓을 때 호출됩니다.
CWnd::OnKillFocus CWnd가 입력 포커스를 잃기 직전에 호출됩니다.
CWnd::OnLButtonDblClk 사용자가 왼쪽 마우스 단추를 두 번 클릭할 때 호출됩니다.
CWnd::OnLButtonDown 사용자가 왼쪽 마우스 단추를 누를 때 호출됩니다.
CWnd::OnLButtonUp 사용자가 왼쪽 마우스 단추를 놓을 때 호출됩니다.
CWnd::OnMButtonDblClk 사용자가 마우스 가운데 단추를 두 번 클릭할 때 호출됩니다.
CWnd::OnMButtonDown 사용자가 마우스 가운데 단추를 누를 때 호출됩니다.
CWnd::OnMButtonUp 사용자가 마우스 가운데 단추를 놓을 때 호출됩니다.
CWnd::OnMDIActivate MDI 자식 창이 활성화되거나 비활성화될 때 호출됩니다.
CWnd::OnMeasureItem 컨트롤을 만들 때 소유자 그리기 자식 콤보 상자, 목록 상자 또는 메뉴 항목에 대해 호출됩니다. CWnd가 Windows에 컨트롤의 크기를 알립니다.
CWnd::OnMenuChar 사용자가 현재 메뉴의 미리 정의된 니모닉과 일치하지 않는 메뉴 니모닉 문자를 누를 때 호출됩니다.
CWnd::OnMenuDrag 사용자가 메뉴 항목을 끌기 시작하면 호출됩니다.
CWnd::OnMenuGetObject 마우스 커서를 메뉴 항목으로 가져가거나 항목의 가운데에서 항목의 위 또는 아래로 이동할 때 호출됩니다.
CWnd::OnMenuRButtonUp 커서가 메뉴 항목 위에 있는 동안 사용자가 마우스 오른쪽 단추를 놓을 때 호출됩니다.
CWnd::OnMenuSelect 사용자가 메뉴 항목을 선택할 때 호출됩니다.
CWnd::OnMouseActivate 커서가 비활성 창에 있을 때 사용자가 마우스 단추를 누르면 호출됩니다.
CWnd::OnMouseHover 커서가 이전 호출에 지정된 기간 동안 창의 클라이언트 영역을 가리키면 호출 TrackMouseEvent됩니다.
CWnd::OnMouseHWheel 마우스의 가로 스크롤 휠이 기울어지거나 회전될 때 호출됩니다.
CWnd::OnMouseLeave 커서가 이전 호출에서 지정한 창의 클라이언트 영역을 떠날 때 호출됩니다 TrackMouseEvent.
CWnd::OnMouseMove 마우스 커서가 이동할 때 호출됩니다.
CWnd::OnMouseWheel 사용자가 마우스 휠을 회전할 때 호출됩니다. Windows NT 4.0 메시지 처리를 사용합니다.
CWnd::OnMove CWnd의 위치가 변경된 후 호출됩니다.
CWnd::OnMoving 사용자가 CWnd 개체를 이동하고 있음을 나타냅니다.
CWnd::OnNcActivate 활성 또는 비활성 상태를 나타내려면 비클라이언트 영역을 변경해야 하는 경우 호출됩니다.
CWnd::OnNcCalcSize 클라이언트 영역의 크기 및 위치를 계산해야 하는 경우 호출됩니다.
CWnd::OnNcCreate 비 클라이언트 영역을 만들 때 이전에 OnCreate 호출됩니다.
CWnd::OnNcDestroy 비클라이언트 영역을 제거할 때 호출됩니다.
CWnd::OnNcHitTest CWnd가 커서를 포함하거나 SetCapture를 사용하여 마우스 입력을 캡처한 경우 마우스가 이동할 때마다 Windows에서 호출됩니다.
CWnd::OnNcLButtonDblClk 커서가 CWnd의 비클라이언트 영역 내에 있는 동안 사용자가 왼쪽 마우스 단추를 두 번 클릭하면 호출됩니다.
CWnd::OnNcLButtonDown 커서가 CWnd의 비클라이언트 영역 내에 있는 동안 사용자가 왼쪽 마우스 단추를 누르면 호출됩니다.
CWnd::OnNcLButtonUp 커서가 CWnd의 비클라이언트 영역 내에 있는 동안 사용자가 왼쪽 마우스 단추를 놓으면 호출됩니다.
CWnd::OnNcMButtonDblClk 커서가 CWnd의 비클라이언트 영역 내에 있는 동안 사용자가 가운데 마우스 단추를 두 번 클릭하면 호출됩니다.
CWnd::OnNcMButtonDown 커서가 CWnd의 비클라이언트 영역 내에 있는 동안 사용자가 가운데 마우스 단추를 누르면 호출됩니다.
CWnd::OnNcMButtonUp 커서가 CWnd의 비클라이언트 영역 내에 있는 동안 사용자가 가운데 마우스 단추를 놓으면 호출됩니다.
CWnd::OnNcMouseHover 커서가 이전 호출에 지정된 기간 동안 창의 비 클라이언트 영역 위로 마우스를 가져가면 호출 TrackMouseEvent됩니다.
CWnd::OnNcMouseLeave 프레임워크는 커서가 이전 호출에 지정된 창의 비 클라이언트 영역을 떠날 때 이 멤버 함수를 호출합니다 TrackMouseEvent.
CWnd::OnNcMouseMove 커서가 CWnd의 비클라이언트 영역 내에서 이동할 때 호출됩니다.
CWnd::OnNcPaint 비클라이언트 영역을 그려야 하는 경우 호출됩니다.
CWnd::OnNcRButtonDblClk 커서가 CWnd의 비클라이언트 영역 내에 있는 동안 사용자가 오른쪽 마우스 단추를 두 번 클릭하면 호출됩니다.
CWnd::OnNcRButtonDown 커서가 CWnd의 비클라이언트 영역 내에 있는 동안 사용자가 오른쪽 마우스 단추를 누르면 호출됩니다.
CWnd::OnNcRButtonUp 커서가 CWnd의 비클라이언트 영역 내에 있는 동안 사용자가 오른쪽 마우스 단추를 놓으면 호출됩니다.
CWnd::OnNcRenderingChanged 비클라이언트 영역에 대한 렌더링 정책이 변경된 경우 호출됩니다.
CWnd::OnNcXButtonDblClk 사용자가 두 번 클릭하거나 XBUTTON2 커서가 XBUTTON1 창의 클라이언트가 아닌 영역에 있는 동안 호출됩니다.
CWnd::OnNcXButtonDown 커서가 창의 클라이언트가 아닌 영역에 있는 동안 사용자가 마우스를 누르거나 XBUTTON2XBUTTON1 를 때 호출됩니다.
CWnd::OnNcXButtonUp 커서가 창의 클라이언트가 아닌 영역에 있는 동안 사용자가 마우스를 놓 XBUTTON1XBUTTON2 때 호출됩니다.
CWnd::OnNextMenu 오른쪽 또는 왼쪽 화살표 키를 사용하여 메뉴 모음과 시스템 메뉴 간을 전환할 때 호출됩니다.
CWnd::OnNotify 해당 컨트롤 중 하나에서 이벤트가 발생했거나 컨트롤에 정보가 필요함을 부모 창에 알리기 위해 프레임워크에서 호출됩니다.
CWnd::OnNotifyFormat 현재 창이 알림 메시지에서 ANSI 또는 유니코드 구조를 WM_NOTIFY 허용하는지 확인하기 위해 호출됩니다.
CWnd::OnPaint 창의 일부를 다시 그리기 위해 호출됩니다.
CWnd::OnPaintClipboard 클립보드 뷰어의 클라이언트 영역을 다시 그려야 할 때 호출됩니다.
CWnd::OnPaletteChanged 색상표를 사용하는 창에서 논리 팔레트를 나타내고 해당 클라이언트 영역을 업데이트하도록 허용하기 위해 호출됩니다.
CWnd::OnPaletteIsChanging 애플리케이션에서 논리 팔레트를 나타내려고 하는 경우 다른 애플리케이션에 알립니다.
CWnd::OnParentNotify 자식 창을 만들거나 제거할 때 또는 커서가 자식 창 위에 있는 동안 사용자가 마우스 단추를 클릭할 때 호출됩니다.
CWnd::OnPowerBroadcast 전원 관리 이벤트가 발생할 때 호출됩니다.
CWnd::OnQueryDragIcon 사용자가 최소화(아이콘)된 CWnd를 끌려고 할 때 호출됩니다.
CWnd::OnQueryEndSession 사용자가 Windows 세션을 종료하도록 선택할 때 호출됩니다.
CWnd::OnQueryNewPalette 입력 포커스를 수신하려고 함을 CWnd에 알립니다.
CWnd::OnQueryOpen CWnd가 아이콘이고 사용자가 아이콘을 열도록 요청할 때 호출됩니다.
CWnd::OnQueryUIState 창에 대한 UI(사용자 인터페이스) 상태를 검색 하기 위해 호출됩니다.
CWnd::OnRawInput 현재 창에서 원시 입력을 가져올 때 호출됩니다.
CWnd::OnRButtonDblClk 사용자가 오른쪽 마우스 단추를 두 번 클릭할 때 호출됩니다.
CWnd::OnRButtonDown 사용자가 오른쪽 마우스 단추를 누를 때 호출됩니다.
CWnd::OnRButtonUp 사용자가 오른쪽 마우스 단추를 놓을 때 호출됩니다.
CWnd::OnRenderAllFormats 소유자 애플리케이션이 제거되고 있고 모든 형식을 렌더링해야 하는 경우 호출됩니다.
CWnd::OnRenderFormat 렌더링이 지연된 특정 형식을 렌더링해야 하는 경우 클립보드 소유자에 대해 호출됩니다.
CWnd::OnSessionChange 세션 상태의 변경을 애플리케이션에 알리기 위해 호출됩니다.
CWnd::OnSetCursor 마우스 입력이 캡처되지 않고 마우스가 창 내에서 커서 이동을 유발하는 경우 호출됩니다.
CWnd::OnSetFocus CWnd가 입력 포커스를 얻은 후 호출됩니다.
CWnd::OnSettingChange Win32 SystemParametersInfo 함수가 시스템 차원 설정을 변경할 때 호출됩니다.
CWnd::OnShowWindow CWnd을 숨기거나 표시해야 할 때 호출됩니다.
CWnd::OnSize CWnd의 크기가 변경된 후 호출됩니다.
CWnd::OnSizeClipboard 클립보드 뷰어 창의 클라이언트 영역 크기가 변경된 경우 호출됩니다.
CWnd::OnSizing 사용자가 사각형의 크기를 조정하고 있음을 나타냅니다.
CWnd::OnSpoolerStatus 인쇄 관리자 큐에서 작업이 추가되거나 제거될 때마다 인쇄 관리자에서 호출됩니다.
CWnd::OnStyleChanged Windows 함수가 SetWindowLong 창 스타일 중 하나 이상을 변경했음을 나타냅니다.
CWnd::OnStyleChanging Windows 함수가 SetWindowLong 창 스타일 중 하나 이상을 변경하려고 했음을 나타냅니다.
CWnd::OnSysChar 키 입력이 시스템 문자로 변환될 때 호출됩니다.
CWnd::OnSysColorChange 시스템 색 설정이 변경될 때 모든 최상위 창에 대해 호출됩니다.
CWnd::OnSysCommand 사용자가 컨트롤 메뉴에서 명령을 선택할 때 또는 사용자가 최대화 또는 최소화 단추를 선택할 때 호출됩니다.
CWnd::OnSysDeadChar 키 입력이 시스템 데드 문자(예: 악센트 문자)로 변환될 때 호출됩니다.
CWnd::OnSysKeyDown 사용자가 Alt 키를 누르고 있다가 다른 키를 누를 때 호출됩니다.
CWnd::OnSysKeyUp 사용자가 Alt 키를 누른 상태에서 눌렀던 키를 놓을 때 호출됩니다.
CWnd::OnTCard 사용자가 만들 수 있는 단추를 클릭하면 호출됩니다.
CWnd::OnTimeChange 시스템 시간이 변경된 후 모든 최상위 창에 대해 호출됩니다.
CWnd::OnTimer 에 지정된 각 간격 후에 호출됩니다 SetTimer.
CWnd::OnTouchInput Windows Touch에서 단일 입력을 처리합니다.
CWnd::OnTouchInputs Windows Touch에서 입력을 처리합니다.
CWnd::OnUniChar 키를 누를 때 호출됩니다. 즉, 현재 창에는 키보드 포커스가 있고 함수에 WM_KEYDOWN 의해 TranslateMessage 메시지가 변환됩니다.
CWnd::OnUnInitMenuPopup 드롭다운 메뉴나 하위 메뉴가 제거될 때 호출됩니다.
CWnd::OnUpdateUIState 지정된 창 및 모든 자식 창에 대한 UI(사용자 인터페이스) 상태를 변경하기 위해 호출됩니다.
CWnd::OnUserChanged 사용자가 로그온하거나 로드오프한 후에 호출됩니다.
CWnd::OnVKeyToItem 메시지에 대한 응답으로 소유하는 CWnd 목록 상자에서 호출됩니다 WM_KEYDOWN .
CWnd::OnVScroll 사용자가 창의 세로 스크롤 막대를 클릭할 때 호출됩니다.
CWnd::OnVScrollClipboard 소유자가 클립보드 이미지를 스크롤하고, 적절한 섹션을 무효화하고, 스크롤 막대 값을 업데이트해야 하는 경우 호출됩니다.
CWnd::OnWindowPosChanged 호출 또는 다른 창 관리 함수의 결과로 크기, 위치 또는 Z 순서가 변경될 때 호출 SetWindowPos 됩니다.
CWnd::OnWindowPosChanging 크기, 위치 또는 Z 순서가 호출 또는 다른 창 관리 함수의 결과로 변경될 SetWindowPos 때 호출됩니다.
CWnd::OnWinIniChange Windows 초기화 파일이 WIN.INI변경된 후 모든 최상위 창에 대해 호출됩니다.
CWnd::OnWndMsg Windows 메시지가 처리되었는지를 나타냅니다.
CWnd::OnXButtonDblClk 사용자가 두 번 클릭하거나 XBUTTON2 커서가 XBUTTON1 창의 클라이언트 영역에 있는 동안 호출됩니다.
CWnd::OnXButtonDown 사용자가 누 XBUTTON1 를 때 또는 XBUTTON2 커서가 창의 클라이언트 영역에 있는 동안 호출됩니다.
CWnd::OnXButtonUp 사용자가 해제되거나 XBUTTON2 커서가 XBUTTON1 창의 클라이언트 영역에 있는 동안 호출됩니다.
CWnd::PostNcDestroy 이 가상 함수는 창이 제거된 후 기본 OnNcDestroy 함수에 의해 호출됩니다.
CWnd::ReflectChildNotify 원본에 메시지를 반영하는 도우미 함수입니다.
CWnd::ReflectLastMsg 자식 창에 대한 마지막 메시지를 반영합니다.
CWnd::ResizeDynamicLayout 창에 대해 동적 레이아웃을 사용하도록 설정한 경우 창 크기가 변경되면 자식 창의 레이아웃을 조정하기 위해 프레임워크에서 호출됩니다.
CWnd::WindowProc CWnd에 창 프로시저를 제공합니다. 기본값은 메시지 맵을 통해 메시지를 디스패치합니다.

Public 연산자

이름 설명
CWnd::operator HWND 창에 대한 핸들을 가져오려면 호출합니다.
CWnd::operator != 창이 핸들 m_hWnd이 있는 창과 같지 않은지 확인합니다.
CWnd::operator == 창이 핸들 m_hWnd이 있는 창과 같은지 확인합니다.

공용 데이터 멤버

이름 설명
CWnd::m_hWnd CWnd연결된 HWND를 나타냅니다.

설명

CWnd 개체는 Windows 창과 다르지만 둘이 밀접하게 연결되어 있습니다. CWnd 개체는 CWnd 생성자 및 소멸자로 만들거나 제거합니다. 반면 Windows 창은 멤버 함수에 의해 Create 생성되고 가상 소멸자가 제거 CWnd 한 Windows 내부 데이터 구조입니다. 이 함수는 DestroyWindow 개체를 삭제하지 않고 Windows 창을 삭제합니다.

CWnd 클래스와 메시지 맵 메커니즘은 함수를 WndProc 숨깁니다. 들어오는 Windows 알림 메시지는 메시지 맵을 통해 적절한 메시지CWnd 구성원 함수로 자동으로 라우팅됩니다. 파생 클래스에서 멤버의 특정 메시지를 처리하도록 OnMessage 멤버 함수를 재정의합니다.

또한 CWnd 클래스를 사용하여 애플리케이션에 대한 Windows 자식 창을 만들 수 있습니다. CWnd에서 클래스를 파생시킨 다음 파생 클래스에 멤버 변수를 추가하여 애플리케이션 관련 데이터를 저장합니다. 파생 클래스에서 메시지 처리기 멤버 함수 및 메시지 맵을 구현하여 메시지가 창에 전달될 때 수행되는 작업을 지정합니다.

자식 창은 두 단계로 만듭니다. 먼저 생성자를 CWnd 호출하여 개체를 CWnd 생성한 다음 멤버 함수를 호출 Create 하여 자식 창을 만들고 개체에 CWnd 연결합니다.

사용자가 자식 창을 종료하면 CWnd 개체를 제거하거나 DestroyWindow 멤버 함수를 호출하여 창을 제거하고 해당 데이터 구조를 제거합니다.

Microsoft Foundation Class 라이브러리 내에서 추가 클래스를 CWnd에서 파생시켜 특정 창 형식을 제공합니다. 이러한 클래스 중 많은 클래스(예CFrameWnd: , CMDIChildWndCMDIFrameWndCViewCDialog)는 추가 파생을 위해 설계되었습니다. 파생된 CWnd컨트롤 클래스(예: CButton)는 직접 사용하거나 클래스의 추가 파생에 사용할 수 있습니다.

사용에 CWnd대한 자세한 내용은 Windows 개체를 참조 Frame Windows 하세요.

상속 계층 구조

CObject

CCmdTarget

CWnd

요구 사항

헤더: afxwin.h

CWnd::accDoDefaultAction

개체의 기본 동작을 수행하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT accDoDefaultAction(VARIANT varChild);

매개 변수

varChild
호출할 기본 동작이 개체의 동작인지 아니면 개체의 자식 요소 중 하나인지를 지정합니다. 이 매개 변수는 CHILDID_SELF(개체의 기본 동작 수행) 또는 자식 ID(개체의 자식 요소 중 하나의 기본 동작 수행)일 수 있습니다.

Return Value

성공에 대한 S_OK 반환하며 실패시 COM 오류 코드입니다. Windows SDK에서 IAccessible::accDoDefaultAction의 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

-derived 클래스에서 CWnd이 함수를 재정의하여 개체의 기본 작업을 수행합니다. 자세한 내용은 Windows SDK에서 IAccessible::accDoDefaultAction 을 참조하세요.

CWnd::accHitTest

화면의 지정된 지점에서 자식 요소나 자식 개체를 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT accHitTest(
    long xLeft,
    long yTop,
    VARIANT* pvarChild);

매개 변수

xLeft
적중 횟수 테스트할 점의 X 좌표(화면 단위)입니다.

yTop
적중 횟수 테스트할 지점의 Y 좌표(화면 단위)입니다.

pvarChild
지정된 지점에서 xLeft 개체를 식별하는 정보를 받습니다 yTop. Windows SDK에서 IAccessible::accHitTest 참조 pvarID 하세요.

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::accHitTest 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

권한이 없는 사용자 인터페이스 요소가 있는 경우(MFC가 CWnd처리하는 창 없는 ActiveX 컨트롤 제외) 파생 클래스에서 이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::accHitTest 하세요.

CWnd::accLocation

지정된 개체의 현재 화면 위치를 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT accLocation(
    long* pxLeft,
    long* pyTop,
    long* pcxWidth,
    long* pcyHeight,
    VARIANT varChild);

매개 변수

pxLeft
개체의 왼쪽 위 모서리(화면 단위)의 x 좌표를 받습니다.

pyTop
개체의 왼쪽 위 모서리(화면 단위)의 y 좌표를 받습니다.

pcxWidth
개체의 너비를 화면 단위로 받습니다.

pcyHeight
개체의 높이를 화면 단위로 받습니다.

varChild
검색할 위치가 개체의 위치인지 아니면 개체의 자식 요소 중 하나인지를 지정합니다. 이 매개 변수는 CHILDID_SELF (개체에 대한 정보를 가져오기 위해) 또는 자식 ID(개체의 자식 요소에 대한 정보를 얻기 위해)일 수 있습니다.

Return Value

성공에 대한 S_OK 반환하며 실패시 COM 오류 코드입니다. Windows SDK의 IAccessible::accLocation 반환 값을 참조하세요.

설명

권한이 없는 사용자 인터페이스 요소가 있는 경우(MFC가 CWnd처리하는 창 없는 ActiveX 컨트롤 제외) 파생 클래스에서 이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::accLocation 하세요.

CWnd::accNavigate

컨테이너 내에서 다른 사용자 인터페이스 요소로 트래버스하고 가능할 경우 개체를 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT accNavigate(
    long navDir,
    VARIANT varStart,
    VARIANT* pvarEndUpAt);

매개 변수

navDir
탐색 방향을 지정합니다. Windows SDK에서 IAccessible::accNavigate 참조 navDir 하세요.

varStart
시작 개체를 지정합니다. Windows SDK에서 IAccessible::accNavigate 참조 varStart 하세요.

pvarEndUpAt
대상 사용자 인터페이스 개체에 대한 정보를 받습니다. Windows SDK에서 IAccessible::accNavigate 참조 pvarEnd 하세요.

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::accNavigate 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

권한이 없는 사용자 인터페이스 요소가 있는 경우(MFC가 CWnd처리하는 창 없는 ActiveX 컨트롤 제외) 파생 클래스에서 이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::accNavigate 하세요.

CWnd::accSelect

선택 영역을 수정하거나 지정된 개체의 키보드 포커스를 이동하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT accSelect(
    long flagsSelect,
    VARIANT varChild);

매개 변수

flagsSelect
현재 선택 영역 또는 포커스를 변경하는 방법을 지정합니다. Windows SDK에서 IAccessible::accSelect 참조 flagsSelect 하세요.

varChild
선택할 개체를 지정합니다. 이 매개 변수는 CHILDID_SELF 개체 자체를 선택하거나 자식 ID(개체의 자식 중 하나를 선택)일 수 있습니다.

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::accSelect 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

권한이 없는 사용자 인터페이스 요소가 있는 경우(MFC가 CWnd처리하는 창 없는 ActiveX 컨트롤 제외) 파생 클래스에서 이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::accSelect 하세요.

CWnd::AnimateWindow

창을 표시하거나 숨길 때 특수 효과를 생성합니다.

BOOL AnimateWindow(
    DWORD dwTime,
    DWORD dwFlags);

매개 변수

dwTime
애니메이션을 재생하는 데 걸리는 시간(밀리초)을 지정합니다. 일반적으로 애니메이션을 재생하는 데 200밀리초가 걸립니다.

dwFlags
애니메이션 유형을 지정합니다. 가능한 값의 전체 목록은 다음을 참조하세요 AnimateWindow.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 AnimateWindow의 기능을 에뮬레이트합니다.

CWnd::ArrangeIconicWindows

모든 최소화된(아이콘) 자식 창을 정렬합니다.

UINT ArrangeIconicWindows();

Return Value

함수가 성공한 경우 아이콘의 한 행 높이입니다. 그렇지 않으면 0입니다.

설명

또한 이 멤버 함수는 전체 화면을 덮는 바탕 화면 창에 아이콘을 정렬합니다. 멤버 함수는 GetDesktopWindow 바탕 화면 창 개체에 대한 포인터를 검색합니다.

MDI 클라이언트 창에서 아이콘 MDI 자식 창을 정렬하려면 .를 호출합니다 CMDIFrameWnd::MDIIconArrange.

예시

// arrange minimized MDI child windows
// called from menu item; CMdiChildFrame is derived from CMDIChildWnd
void CMdiChildFrame::OnActionArrangeIconicWindows()
{
   UINT height = GetParent()->ArrangeIconicWindows();   
   TRACE(_T("height = %d\n"), height);
}

CWnd::Attach

개체에 Windows 창을 CWnd 연결합니다.

BOOL Attach(HWND hWndNew);

매개 변수

hWndNew
Windows 창에 대한 핸들을 지정합니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

예시

이 예제에서는 MDI 클라이언트 창을 사용하고 AttachDetach 매핑하는 방법을 보여줍니다.

// Declare a CWnd member of CMainFrame
public:
CWnd m_wndMDIClient;

 

// detach MDI client window in CMainFrame destructor
m_wndMDIClient.Detach();

 

// In CMainFrame::OnCreate, attach MDI client window

if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
   return -1;

// attach MDI client window
if (m_wndMDIClient.Attach(m_hWndMDIClient) == 0)
{
   TRACE(_T("Failed to attach MDIClient.\n"));
   return -1; // fail to create
}

CWnd::BeginModalState

프레임 창을 모달로 만들기 위해 이 멤버 함수를 호출합니다.

virtual void BeginModalState();

CWnd::BeginPaint

그리기를 CWnd 준비하고 그리기 PAINTSTRUCT 정보를 사용하여 데이터 구조를 채웁니다.

CDC* BeginPaint(LPPAINTSTRUCT lpPaint);

매개 변수

lpPaint
그리기 PAINTSTRUCT 정보를 받을 구조를 가리킵니다.

Return Value

에 대한 디바이스 컨텍스트를 식별합니다 CWnd. 포인터는 일시적일 수 있으며 범위 이상으로 EndPaint저장해서는 안 됩니다.

설명

페인트 구조에는 업데이트 영역을 완전히 둘러싸는 가장 작은 사각형이 있는 데이터 구조와 배경이 지워졌는지 여부를 지정하는 플래그가 포함 RECT 됩니다.

업데이트 영역은 클라이언트 영역에 영향을 주는 다른 작업을 크기 조정, 이동, 만들기, 스크롤 또는 수행한 후 시스템에서 또는 InvalidateRectInvalidateRgn 멤버 함수 및 시스템에 의해 Invalidate설정됩니다. 업데이트 영역이 지워 BeginPaint 지도록 표시된 경우 메시지를 보냅니다 WM_ONERASEBKGND .

메시지에 대한 응답을 제외하고 멤버 함수를 WM_PAINT 호출 BeginPaint 하지 마세요. 멤버 함수에 BeginPaint 대한 각 호출에는 멤버 함수에 대한 일치 호출이 EndPaint 있어야 합니다. 캐리트가 그릴 BeginPaint 영역에 있는 경우 멤버 함수는 자동으로 캐리트를 숨겨 지울 수 없도록 합니다.

예시

// Use BeginPaint and EndPaint when responding to WM_PAINT message
// An alternative method is to use CPaintDC in place of
// BeginPaint and EndPaint
void CMdiView::OnPaint()
{
   PAINTSTRUCT ps;
   CDC *pDC = BeginPaint(&ps);

   pDC->Rectangle(CRect(0, 0, 100, 100));

   EndPaint(&ps);

   // Do not call CView::OnPaint() for painting messages
}

CWnd::BindDefaultProperty

형식 라이브러리에 표시된 대로 호출 개체의 기본 단순 바인딩 속성(예: 편집 컨트롤)을 데이터 소스 컨트롤의 , UserNamePasswordSQL 속성에 정의된 기본 커서에 DataSource바인딩합니다.

void BindDefaultProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    LPCTSTR szFieldName,
    CWnd* pDSCWnd);

매개 변수

dwDispID
데이터 소스 컨트롤에 바인딩할 데이터 바인딩된 컨트롤의 속성을 지정 DISPID 합니다.

vtProp
바인딩할 속성의 형식을 지정합니다. 예를 들어 , VT_BSTRVT_VARIANT등입니다.

szFieldName
속성이 바인딩될 데이터 소스 컨트롤에서 제공하는 커서에 있는 열의 이름을 지정합니다.

pDSCWnd
속성이 바인딩될 데이터 소스 컨트롤을 호스트하는 창을 가리킵니다. DCS 호스트 창의 리소스 ID를 사용하여 이 GetDlgItem 포인터를 검색합니다.

설명

이 함수를 호출하는 개체는 CWnd 데이터 바인딩된 컨트롤이어야 합니다.

예시

BindDefaultProperty 는 다음 컨텍스트에서 사용될 수 있습니다.

BOOL CMyDlg::OnInitDialog()
{
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL1);
   pMyBound->BindDefaultProperty(0x1, VT_BSTR, _T("ContactFirstName"), pDSC);
   return TRUE;
}

CWnd::BindProperty

데이터 바인딩된 컨트롤(예: 그리드 컨트롤)의 커서 바인딩 속성을 데이터 소스 컨트롤에 바인딩하고 MFC 바인딩 관리자와 해당 관계를 등록합니다.

void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

매개 변수

dwDispId
데이터 소스 컨트롤에 바인딩할 데이터 바인딩된 컨트롤의 속성을 지정 DISPID 합니다.

pWndDSC
속성이 바인딩될 데이터 소스 컨트롤을 호스트하는 창을 가리킵니다. DCS 호스트 창의 리소스 ID를 사용하여 이 GetDlgItem 포인터를 검색합니다.

설명

이 함수를 호출하는 개체는 CWnd 데이터 바인딩된 컨트롤이어야 합니다.

예시

BindProperty 는 다음 컨텍스트에서 사용될 수 있습니다.

BOOL CMyDlg::OnInitDialog()
{
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL2);
   pMyBound->BindProperty(0x1, pDSC);
   return TRUE;
}

CWnd::BringWindowToTop

CWnd를 겹치는 창 스택의 맨 위로 이동합니다.

void BringWindowToTop();

설명

또한 BringWindowToTop은 팝업, 최상위 및 MDI 자식 창을 활성화합니다. BringWindowToTop 멤버 함수를 사용하여 겹치는 창에 의해 부분적으로 또는 완전히 가려진 모든 창을 발견해야 합니다.

이 함수는 Win32 BringWindowToTop 함수를 호출합니다. 함수를 SetWindowPos 호출하여 Z 순서에서 창의 위치를 변경합니다. BringWindowToTop 함수는 창 스타일을 변경하여 최상위 창으로 만들지 않습니다. 자세한 내용은 차이점을 참조하세요HWND_TOP.HWND_TOPMOST

예시

// Moves MDI child windows to the top when a mouse passes
// over it. CMdiView is derived from CView.
void CMdiView::OnMouseMove(UINT nFlags, CPoint point) 
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   GetParentFrame()->BringWindowToTop();
}

CWnd::CalcWindowRect

지정된 클라이언트 사각형을 포함할 수 있는 창 사각형을 계산합니다.

virtual void CalcWindowRect(
    LPRECT lpClientRect,
    UINT nAdjustType = adjustBorder);

매개 변수

lpClientRect
[in, out] 사각형 구조체에 대한 포인터입니다. 입력 시 이 구조에는 클라이언트 사각형이 포함됩니다. 메서드가 완료되면 이 구조체에는 지정된 클라이언트 사각형을 포함할 수 있는 창 사각형이 포함됩니다.

nAdjustType
[in] 스타일 없이 WS_EX_CLIENTEDGE 창 좌표를 계산하는 데 사용합니다CWnd::adjustBorder. 그렇지 않으면 .를 사용합니다CWnd::adjustOutside.

설명

계산된 창 사각형의 크기에는 메뉴 모음의 공간이 포함되지 않습니다.

더 많은 사용 제한 사항은 다음을 참조하세요 AdjustWindowRectEx.

예시

// Uses CalcWindowRect to determine size for new CFrameWnd
// based on the size of the current view. The end result is a
// top level frame window of the same size as CMdiView's frame.
void CMdiView::OnMyCreateFrame()
{
   CFrameWnd *pFrameWnd = new CFrameWnd;
   CRect myRect;
   GetClientRect(myRect);
   pFrameWnd->Create(NULL, _T("My Frame"));
   pFrameWnd->CalcWindowRect(&myRect, CWnd::adjustBorder);
   pFrameWnd->MoveWindow(0, 0, myRect.Width(), myRect.Height());
   pFrameWnd->ShowWindow(SW_SHOW);
}

CWnd::CancelToolTips

도구 설명이 현재 표시되는 경우 이 멤버 함수를 호출하여 화면에서 도구 팁을 제거합니다.

static void PASCAL CancelToolTips(BOOL bKeys = FALSE);

매개 변수

bKeys
TRUE키를 누를 때 도구 팁을 취소하고 상태 막대 텍스트를 기본값으로 설정하려면 이고, 그렇지 않으면 FALSE.

설명

참고 항목

이 멤버 함수를 사용하면 코드에서 관리하는 도구 팁에 영향을 주지 않습니다. 에서 관리하는 CWnd::EnableToolTips도구 설명 컨트롤에만 영향을 줍니다.

예시

// In this example, tool tips were set up to
// pop up when the user moves the mouse
// over this edit control.
// If the mouse is moved to the upper left-hand
// corner, the tool tip would disappear because of
// calling CancelToolTips.
void CMyEdit::OnMouseMove(UINT nFlags, CPoint point)
{
   CRect corner(0, 0, 10, 10);
   if (corner.PtInRect(point))
      CancelToolTips();
   CEdit::OnMouseMove(nFlags, point);
}

CWnd::CenterWindow

부모를 기준으로 창을 가운데 맞춤합니다.

void CenterWindow(CWnd* pAlternateOwner = NULL);

매개 변수

pAlternateOwner
부모 창이 아닌 가운데에 배치될 대체 창에 대한 포인터입니다.

설명

일반적으로 애플리케이션의 기본 창을 기준으로 대화 상자에서 가운데로 호출 CDialog::OnInitDialog 됩니다. 기본적으로 함수는 부모 창을 기준으로 자식 창을 가운데에 두고 소유자를 기준으로 팝업 창을 설정합니다. 팝업 창이 소유되지 않은 경우 화면을 기준으로 가운데에 배치됩니다. 소유자 또는 부모가 아닌 특정 창을 기준으로 창을 가운데에 배치하려면 매개 변수를 pAlternateOwner 유효한 창으로 설정할 수 있습니다. 화면을 기준으로 가운데 맞춤을 강제 적용하려면 반환 CWnd::GetDesktopWindow 된 값을 다음과 같이 pAlternateOwner전달합니다.

예시

BOOL CAboutDlg::OnInitDialog()
{
   CDialog::OnInitDialog();

   CenterWindow();

   return TRUE;
}

CWnd::ChangeClipboardChain

CWnd 클립보드 뷰어 체인에서 제거하고 체인에서 상위 항목의 CWnd 하위 항목으로 hWndNext 지정된 창을 만듭니다.

BOOL ChangeClipboardChain(HWND hWndNext);

매개 변수

hWndNext
클립보드 뷰어 체인에서 이어지는 창을 식별합니다 CWnd .

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

CWnd::CheckDlgButton

단추를 선택하거나(옆에 검사 표시를 배치) 단추를 선택하거나 지우거나(검사 표시를 제거) 3개 상태 단추의 상태를 변경합니다.

void CheckDlgButton(
    int nIDButton,
    UINT nCheck);

매개 변수

nIDButton
수정할 단추를 지정합니다.

nCheck
수행할 작업을 지정합니다. 0 CheckDlgButton 이 아닌 경우 nCheck 멤버 함수는 단추 옆에 검사 표시를 배치합니다. 0이면 검사 표시가 제거됩니다. 3개 상태 단추의 경우 2이면 nCheck 단추 상태가 확정되지 않습니다.

설명

함수는 CheckDlgButton 지정된 단추로 메시지를 보냅니 BM_SETCHECK 다.

예시

// Sets 3 check buttons in various ways.  Note BST_INDETERMINATE
// requires BS_3STATE or BS_AUTO3STATE in the button's style.
void CMyDlg::OnMarkButtons()
{
   CheckDlgButton(IDC_CHECK1, BST_UNCHECKED);     // 0
   CheckDlgButton(IDC_CHECK2, BST_CHECKED);       // 1
   CheckDlgButton(IDC_CHECK3, BST_INDETERMINATE); // 2
}

CWnd::CheckRadioButton

그룹에서 지정된 라디오 단추를 선택(검사 표시에 추가)하고 그룹의 다른 모든 라디오 단추를 지웁니다(검사 표시 제거).

void CheckRadioButton(
    int nIDFirstButton,
    int nIDLastButton,
    int nIDCheckButton);

매개 변수

nIDFirstButton
그룹의 첫 번째 라디오 단추의 정수 식별자를 지정합니다.

nIDLastButton
그룹의 마지막 라디오 단추의 정수 식별자를 지정합니다.

nIDCheckButton
검사 라디오 단추의 정수 식별자를 지정합니다.

설명

함수는 CheckRadioButton 지정된 라디오 단추로 메시지를 보냅니 BM_SETCHECK 다.

예시

// Of the 4 radio buttons, selects radio button 3.
void CMyDlg::OnMarkRadio()
{
   CheckRadioButton(IDC_RADIO1, IDC_RADIO4, IDC_RADIO3);
}

CWnd::ChildWindowFromPoint

지정된 지점을 포함할 CWnd 자식 창 중 어느 자식 창이 있는지 확인합니다.

CWnd* ChildWindowFromPoint(POINT point) const;

CWnd* ChildWindowFromPoint(
    POINT point,
    UINT nFlags) const;

매개 변수

point
테스트할 지점의 클라이언트 좌표를 지정합니다.

nflags
건너뛸 자식 창을 지정합니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

의미
CWP_ALL 자식 창을 건너뛰지 마세요.
CWP_SKIPINVISIBLE 보이지 않는 자식 창 건너뛰기
CWP_SKIPDISABLED 비활성화된 자식 창 건너뛰기
CWP_SKIPTRANSPARENT 투명한 자식 창 건너뛰기

Return Value

점이 포함된 자식 창을 식별합니다. 지정된 지점이 클라이언트 영역 외부에 있는 경우입니다 NULL . 지점이 클라이언트 영역 내에 있지만 자식 창 CWnd 에 포함되지 않은 경우 반환됩니다.

이 멤버 함수는 지정된 지점을 포함하는 숨겨진 자식 창이나 사용하지 않도록 설정된 자식 창을 반환합니다.

두 개 이상의 창에 지정된 지점이 포함될 수 있습니다. 그러나 이 함수는 점이 CWnd포함된 첫 번째 창의 *만 반환합니다.

반환되는 *는 CWnd일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

예시

void CMyDlg::OnFindCenterChild() 
{
   CRect rect;
   GetClientRect(&rect);
   CWnd* pWnd = ChildWindowFromPoint(
      CPoint(rect.Width()/2, rect.Height()/2), 
      // Top left is always 0, 0.
      CWP_SKIPINVISIBLE);
   TRACE(_T("Center window is 0x%08x\n"), pWnd->m_hWnd);
}

CWnd::ClientToScreen

디스플레이에서 지정된 점이나 사각형의 클라이언트 좌표를 화면 좌표로 변환합니다.

void ClientToScreen(LPPOINT lpPoint) const;  void ClientToScreen(LPRECT lpRect) const;

매개 변수

lpPoint
변환할 POINT 클라이언트 좌표를 포함하는 구조 체 또는 CPoint 개체를 가리킵니다.

lpRect
변환할 RECT 클라이언트 좌표를 포함하는 구조 체 또는 CRect 개체를 가리킵니다.

설명

멤버 함수는 ClientToScreen 새 화면 좌표를 POINT 가리키거나 RECT 가리키는 lpPoint 구조체 또는 CPointCRect 개체의 클라이언트 좌표를 사용하거나 lpRect 새 화면 좌표를 계산한 다음 구조체의 좌표를 새 좌표로 바꿉니다. 새 화면 좌표는 시스템 디스플레이의 왼쪽 위 모서리를 기준으로 합니다.

멤버 함수는 ClientToScreen 지정된 지점 또는 사각형이 클라이언트 좌표에 있다고 가정합니다.

예시

// resize dialog to client's size
void CMyDlg::OnSizeToClient()
{
   CRect myRect;
   GetClientRect(&myRect);

   ClientToScreen(myRect);
   MoveWindow(myRect.left, myRect.top,
              myRect.Width(), myRect.Height());
}

CWnd::CloseWindow

창을 최소화합니다.

void CloseWindow();

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 CloseWindow의 기능을 에뮬레이트합니다.

CWnd::ContinueModal

이 멤버 함수는 모달 상태를 종료해야 하는 시기를 결정하기 위해 호출 RunModalLoop 됩니다.

virtual BOOL ContinueModal();

Return Value

모달 루프를 계속하려면 0이 아닌 경우 호출되는 경우 EndModalLoop 0입니다.

설명

기본적으로 호출될 때까지 EndModalLoop 0이 아닌 값을 반환합니다.

CWnd::Create

지정된 자식 창을 만들어 개체에 CWnd 연결합니다.

virtual BOOL Create(
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    Const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CCreateContext* pContext = NULL);

매개 변수

lpszClassName
[in] 등록된 시스템 창 클래스의 이름을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 또는 미리 정의된 시스템 창 클래스의 이름입니다.

lpszWindowName
[in] 창 표시 이름을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 창 표시 이름이 없으면 이고, 그렇지 않으면 NULL 창 표시 이름이 없습니다.

dwStyle
[in] 창 스타일의 비트 조합(OR) 입니다. 이 WS_POPUP 옵션은 유효한 스타일이 아닙니다.

rect
[in] 부모 창의 왼쪽 위 모서리를 기준으로 하는 창의 크기와 위치입니다.

pParentWnd
[in] 부모 창에 대한 포인터입니다.

nID
[in] 창의 ID입니다.

pContext
[in] 애플리케이션의 CCreateContext 문서 보기 아키텍처를 사용자 지정하는 데 사용되는 구조체에 대한 포인터입니다.

Return Value

TRUE 메서드가 성공하면 이고, 그렇지 않으면 FALSE.

설명

Warning

CWnd::PreCreateWindow이제 메뉴가 있고 스타일에 hMenu 포함된 경우 해당 매개 변수 thisCREATESTRUCT 멤버를 포인터에 할당합니다WS_CHILD.NULL 적절한 기능을 위해 대화 상자 컨트롤에 없는 NULLID가 있는지 확인합니다.

이 변경으로 인해 관리/네이티브 interop 시나리오에서 충돌이 해결됩니다. TRACE 개발자에게 CWnd::Create 문제를 알리는 명령문입니다.

함수를 AfxRegisterWndClass 사용하여 창 클래스를 등록합니다. 사용자 정의 창 클래스는 등록된 모듈에서 사용할 수 있습니다.

CWnd::OnCreate 메서드가 반환되기 전 Create 과 창이 표시되기 전에 메서드가 호출됩니다.

예시

// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic() 
{
   // m_pWndStatic is a CWnd* member of CMyDlg
   m_pWndStatic = new CWnd;
   m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
       CRect(0, 0, 20, 20), this, 1234);
}

CWnd::CreateAccessibleProxy

지정된 개체에 대해 Active Accessibility 프록시를 만듭니다.

virtual HRESULT CreateAccessibleProxy(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

매개 변수

wParam
활성 접근성 프록시에서 액세스하는 개체를 식별합니다. 다음 값 중 하나일 수 있습니다.

의미
OBJID_CLIENT 창의 클라이언트 영역을 참조합니다.

lParam
추가 메시지 종속 정보를 제공합니다.

pResult
결과 코드를 저장하는 포인터 LRESULT 입니다.

설명

지정된 개체에 대해 Active Accessibility 프록시를 만듭니다.

CWnd::CreateCaret

시스템 캐리트에 대한 새 셰이프를 만들고 caret의 소유권을 주장합니다.

void CreateCaret(CBitmap* pBitmap);

매개 변수

pBitmap
캐리트 셰이프를 정의하는 비트맵을 식별합니다.

설명

비트맵은 이전에 멤버 함수, CreateDIBitmap Windows 함수 또는 멤버 함수에 CBitmap::LoadBitmap 의해 CBitmap::CreateBitmap 만들어졌어야 합니다.

CreateCaret 는 어떤 창이 캐리트를 소유하는지에 관계없이 이전의 캐리트 셰이프(있는 경우)를 자동으로 삭제합니다. 만든 후에는 처음에 캐리트가 숨겨집니다. 캐리트를 표시하려면 멤버 함수를 ShowCaret 호출해야 합니다.

시스템 케어는 공유 리소스입니다. CWnd 는 입력 포커스가 있거나 활성 상태인 경우에만 캐리트를 만들어야 합니다. 입력 포커스를 잃거나 비활성 상태가 되기 전에 캐리트를 삭제해야 합니다.

예시

// Changes the caret of the edit control in this dialog box
void CMyDlg::OnChangeCaret()
{
   m_pBitmapCaret = new CBitmap;
   m_pBitmapCaret->LoadBitmap(IDB_HAPPY_BITMAP);
   m_MyEdit.CreateCaret(m_pBitmapCaret);
   m_MyEdit.ShowCaret();
}

CWnd::CreateControl

이 멤버 함수를 사용하여 개체로 MFC 프로그램에 표시되는 ActiveX 컨트롤을 CWnd 만듭니다.

BOOL CreateControl(
    LPCTSTR pszClass,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

BOOL CreateControl(
    REFCLSID clsid,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

BOOL CreateControl(
    REFCLSID clsid,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const POINT* ppt,
    const SIZE* psize,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

매개 변수

pszClass
이 문자열은 클래스에 대한 OLE "short name"(ProgID)을 포함할 수 있습니다. 예: "CIRC3.Circ3Ctrl.1". 이름은 컨트롤에서 등록한 이름과 일치해야 합니다. 또는 문자열에 중괄호에 포함된 문자열 형식을 CLSID포함할 수 있습니다. 예: "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". 두 경우 CreateControl 모두 문자열을 해당 클래스 ID로 변환합니다.

pszWindowName
컨트롤에 표시할 텍스트에 대한 포인터입니다. 컨트롤의 Caption 또는 Text 속성 값(있는 경우)을 설정합니다. 이 경우 NULL컨트롤의 Caption 또는 Text 속성이 변경되지 않습니다.

dwStyle
Windows 스타일. 사용 가능한 스타일은 주의 아래에 나열됩니다.

rect
컨트롤의 크기와 위치를 지정합니다. 개체 또는 RECT 구조CRect 일 수 있습니다.

ppt
컨트롤의 POINT 왼쪽 위 모서리가 들어 있는 구조 체 또는 CPoint 개체를 가리킵니다.

pSize
SIZE 컨트롤의 크기를 포함하는 구조체 또는 CSize 개체를 가리킵니다.

*pParentWnd*
컨트롤의 부모 창을 지정합니다. 해서는 안 됩니다 NULL.

nID
컨트롤의 ID를 지정합니다.

pPersist
컨트롤의 CFile 영구 상태를 포함하는 포인터입니다. 기본값은 NULL컨트롤이 영구 스토리지에서 상태를 복원하지 않고 자신을 초기화함을 나타내는 것입니다. 그렇지 않은 NULL경우 스트림 또는 스토리지의 형태로 컨트롤의 영구 데이터를 포함하는 파생 개체에 대한 포인터 CFile여야 합니다. 이 데이터는 클라이언트의 이전 활성화에 저장되었을 수 있습니다. 다른 CFile 데이터를 포함할 수 있지만 호출 CreateControl시 영구 데이터의 첫 번째 바이트로 설정된 읽기-쓰기 포인터가 있어야 합니다.

bStorage
데이터를 데이터 pPersistIStorageIStream 해석해야 하는지 여부를 나타냅니다. 데이터가 pPersist 스토리지 bStorage 인 경우 여야 TRUE합니다. 데이터가 pPersist 스트림 bStorage 인 경우 .이어야 FALSE합니다. 기본값은 FALSE입니다.

bstrLicKey
선택적 라이선스 키 데이터입니다. 이 데이터는 런타임 라이선스 키가 필요한 컨트롤을 만드는 데만 필요합니다. 컨트롤이 라이선스를 지원하는 경우 컨트롤을 만들 수 있도록 라이선스 키를 제공해야 합니다. 기본값은 NULL입니다.

clsid
컨트롤의 고유 클래스 ID입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

CreateControl 는 함수의 CWnd::Create 직접 아날로그로, 에 대한 CWnd창을 만듭니다. CreateControl 는 일반 창 대신 ActiveX 컨트롤을 만듭니다.

Windows dwStyle 플래그의 하위 집합만 다음과 같이 지원됩니다.CreateControl

  • WS_VISIBLE 처음에 표시되는 창을 만듭니다. 일반 창과 같이 컨트롤을 즉시 표시하려면 필수입니다.

  • WS_DISABLED 처음에 사용하지 않도록 설정된 창을 만듭니다. 사용하지 않도록 설정된 창은 사용자로부터 입력을 받을 수 없습니다. 컨트롤에 Enabled 속성이 있는 경우 설정할 수 있습니다.

  • WS_BORDER 얇은 테두리가 있는 창을 만듭니다. 컨트롤에 속성이 BorderStyle 있는 경우 설정할 수 있습니다.

  • WS_GROUP 컨트롤 그룹의 첫 번째 컨트롤을 지정합니다. 사용자는 방향 키를 사용하여 그룹의 한 컨트롤에서 다음 컨트롤로 키보드 포커스를 변경할 수 있습니다. 첫 번째 컨트롤 뒤의 WS_GROUP 스타일로 정의된 모든 컨트롤은 동일한 그룹에 속합니다. 스타일을 사용하는 WS_GROUP 다음 컨트롤은 그룹을 종료하고 다음 그룹을 시작합니다.

  • WS_TABSTOP 사용자가 TAB 키를 누를 때 키보드 포커스를 받을 수 있는 컨트롤을 지정합니다. TAB 키를 누르면 키보드 포커스가 스타일의 다음 컨트롤로 변경됩니다 WS_TABSTOP .

예시

class CGenocx : public CWnd
{
protected:
   DECLARE_DYNCREATE(CGenocx)
public:
   CLSID const &GetClsid()
   {
      static CLSID const clsid = {0x20DD1B9E, 0x87C4, 0x11D1, {0x8B, 0xE3, 0x0, 0x0, 0xF8, 0x75, 0x4D, 0xA1}};
      return clsid;
   }

   // This code is generated by the Control Wizard.
   // It wraps the call to CreateControl in the call to Create.
   virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
                       const RECT &rect, CWnd *pParentWnd, UINT nID,
                       CCreateContext *pContext = NULL)
   {
      UNREFERENCED_PARAMETER(pContext);
      UNREFERENCED_PARAMETER(lpszClassName);

      return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID);
   }

   // remainder of class declaration omitted...

CWnd::CreateEx

지정한 창을 만들어 개체에 CWnd 연결합니다.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    int x,
    int y,
    int nWidth,
    int nHeight,
    HWND hWndParent,
    HMENU nIDorHMenu,
    LPVOID lpParam = NULL);

virtual BOOL CreateEx(
    DWORD dwExStyle,
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    LPVOID lpParam = NULL);

매개 변수

dwExStyle
확장 창 스타일의 비트 조합(OR)이고, 그렇지 않으면 NULL 기본 확장 창 스타일입니다.

lpszClassName
등록된 시스템 창 클래스의 이름을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 또는 미리 정의된 시스템 창 클래스의 이름입니다.

lpszWindowName
창 표시 이름을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 창 표시 이름이 없으면 이고, 그렇지 않으면 NULL 창 표시 이름이 없습니다.

dwStyle
창 스타일의 비트 조합(OR)이고, 그렇지 않으면 NULL 기본 창 스타일입니다.

x
화면 왼쪽 또는 부모 창에서 창의 초기 가로 거리입니다.

y
화면 위쪽 또는 부모 창에서 창의 초기 세로 거리입니다.

nWidth
창의 너비(픽셀)입니다.

nHeight
창의 높이(픽셀)입니다.

hwndParent
자식 창의 경우 부모 창에 대한 핸들입니다. 그렇지 않으면 창에 소유자가 있는 경우 소유자 창의 핸들입니다.

nIDorHMenu
자식 창의 경우 창 ID 그렇지 않으면 창에 대한 메뉴의 ID입니다.

lpParam
필드의 메서드에 전달되는 CWnd::OnCreate 사용자 데이터에 대한 lpCreateParams 포인터입니다.

rect
화면 또는 부모 창을 기준으로 하는 창의 크기와 위치입니다.

pParentWnd
자식 창의 경우 부모 창에 대한 포인터입니다. 그렇지 않으면 창에 소유자가 있는 경우 소유자 창에 대한 포인터입니다.

nID
자식 창의 경우 창 ID 그렇지 않으면 창에 대한 메뉴의 ID입니다.

Return Value

TRUE 메서드가 성공하면 이고, 그렇지 않으면 FALSE.

설명

Warning

CWnd::PreCreateWindow이제 메뉴가 있고 스타일에 hMenu 포함된 경우 해당 매개 변수 thisCREATESTRUCT 멤버를 포인터에 할당합니다WS_CHILD.NULL 적절한 기능을 위해 대화 상자 컨트롤에 없는 NULLID가 있는지 확인합니다.

이 변경으로 인해 관리/네이티브 interop 시나리오에서 충돌이 해결됩니다. TRACE 개발자에게 CWnd::Create 문제를 알리는 명령문입니다.

기본 확장 창 스타일은 .입니다 WS_EX_LEFT. 기본 창 스타일은 .입니다 WS_OVERLAPPED.

함수를 AfxRegisterWndClass 사용하여 창 클래스를 등록합니다. 사용자 정의 창 클래스는 등록된 모듈에서 사용할 수 있습니다.

자식 창의 차원은 부모 창의 클라이언트 영역의 왼쪽 위 모서리를 기준으로 합니다. 최상위 창의 차원은 화면의 왼쪽 위 모서리를 기준으로 합니다.

CWnd::OnCreate 메서드가 반환되기 전 CreateEx 과 창이 표시되기 전에 메서드가 호출됩니다.

예시

void CMyDlg::OnCreateExtendedControl() 
{
   // m_pWndStaticEx is a CWnd* member of CMyDlg
   m_pWndStaticEx = new CStatic;
   m_pWndStaticEx->CreateEx(WS_EX_CLIENTEDGE, // Make a client edge label.
      _T("STATIC"), _T("Hi"),
      WS_CHILD | WS_TABSTOP | WS_VISIBLE,
      5, 5, 30, 30, m_hWnd, (HMENU)2345);
}

CWnd::CreateGrayCaret

시스템 캐리트에 대한 회색 사각형을 만들고 caret의 소유권을 주장합니다.

void CreateGrayCaret(
    int nWidth,
    int nHeight);

매개 변수

nWidth
caret의 너비를 논리 단위로 지정합니다. 이 매개 변수가 0이면 너비가 시스템 정의 창 테두리 너비로 설정됩니다.

nHeight
caret의 높이를 논리 단위로 지정합니다. 이 매개 변수가 0이면 높이가 시스템 정의 창 테두리 높이로 설정됩니다.

설명

캐럿 셰이프는 선 또는 블록일 수 있습니다.

매개 변수 nWidthnHeight 캐리트의 너비와 높이(논리 단위)를 지정합니다. 정확한 너비와 높이(픽셀 단위)는 매핑 모드에 따라 달라집니다.

Windows 함수에서 인덱스와 함께 시스템의 창 테두리 너비 또는 높이를 SM_CXBORDERSM_CYBORDER 검색 GetSystemMetrics 할 수 있습니다. 창 테두리 너비 또는 높이를 사용하면 고해상도 디스플레이에 캐리트가 표시됩니다.

멤버 함수는 CreateGrayCaret 캐리트를 소유하는 창에 관계없이 이전의 캐리트 셰이프(있는 경우)를 자동으로 삭제합니다. 만든 후에는 처음에 캐리트가 숨겨집니다. 캐리트를 표시하려면 멤버 함수를 ShowCaret 호출해야 합니다.

시스템 케어는 공유 리소스입니다. CWnd 는 입력 포커스가 있거나 활성 상태인 경우에만 캐리트를 만들어야 합니다. 입력 포커스를 잃거나 비활성 상태가 되기 전에 캐리트를 삭제해야 합니다.

예시

// Create a 5x10 gray caret in the edit control.
void CMyDlg::OnCreateGrayCaret()
{
   m_MyEdit.CreateGrayCaret(5, 10);
   m_MyEdit.ShowCaret();
}

CWnd::CreateSolidCaret

시스템 캐리트에 대한 단색 사각형을 만들고 caret의 소유권을 주장합니다.

void CreateSolidCaret(
    int nWidth,
    int nHeight);

매개 변수

nWidth
caret의 너비를 논리 단위로 지정합니다. 이 매개 변수가 0이면 너비가 시스템 정의 창 테두리 너비로 설정됩니다.

nHeight
caret의 높이를 논리 단위로 지정합니다. 이 매개 변수가 0이면 높이가 시스템 정의 창 테두리 높이로 설정됩니다.

설명

캐럿 셰이프는 선 또는 블록일 수 있습니다.

매개 변수 nWidthnHeight 캐리트의 너비와 높이(논리 단위)를 지정합니다. 정확한 너비와 높이(픽셀 단위)는 매핑 모드에 따라 달라집니다.

Windows 함수에서 인덱스와 함께 시스템의 창 테두리 너비 또는 높이를 SM_CXBORDERSM_CYBORDER 검색 GetSystemMetrics 할 수 있습니다. 창 테두리 너비 또는 높이를 사용하면 고해상도 디스플레이에 캐리트가 표시됩니다.

멤버 함수는 CreateSolidCaret 캐리트를 소유하는 창에 관계없이 이전의 캐리트 셰이프(있는 경우)를 자동으로 삭제합니다. 만든 후에는 처음에 캐리트가 숨겨집니다. 캐리트를 표시하려면 멤버 함수를 ShowCaret 호출해야 합니다.

시스템 케어는 공유 리소스입니다. CWnd 는 입력 포커스가 있거나 활성 상태인 경우에만 캐리트를 만들어야 합니다. 입력 포커스를 잃거나 비활성 상태가 되기 전에 캐리트를 삭제해야 합니다.

예시

// Create a 5x10 solid caret in the edit control.
void CMyDlg::OnCreateSolidCaret()
{
   m_MyEdit.CreateSolidCaret(5, 10);
   m_MyEdit.ShowCaret();
}

CWnd::CWnd

CWnd 개체를 생성합니다.

CWnd();

설명

또는 Create 멤버 함수가 호출될 때까지 Windows 창이 CreateEx 만들어지고 연결되지 않습니다.

CWnd::Default

기본 창 프로시저를 호출합니다.

LRESULT Default();

Return Value

보낸 메시지에 따라 다릅니다.

설명

기본 창 프로시저는 애플리케이션이 처리하지 않는 모든 창 메시지에 대한 기본 처리를 제공합니다. 이 멤버 함수는 모든 메시지가 처리되도록 합니다.

예시

// This sample shows how to avoid any button handling in base class,
// if any, and call the default window procedure directly.
void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   CWnd::Default();
}

CWnd::DefWindowProc

애플리케이션이 처리하지 않는 모든 창 메시지에 대한 기본 처리를 제공하는 기본 창 프로시저를 호출합니다.

virtual LRESULT DefWindowProc(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

매개 변수

message
처리할 Windows 메시지를 지정합니다.

wParam
추가 메시지 종속 정보를 지정합니다.

lParam
추가 메시지 종속 정보를 지정합니다.

Return Value

보낸 메시지에 따라 다릅니다.

설명

이 멤버 함수는 모든 메시지가 처리되도록 합니다. 창 프로시저에서 받은 매개 변수와 동일한 매개 변수를 사용하여 호출해야 합니다.

CWnd::DeleteTempMap

개체의 CWinApp 유휴 시간 처리기에 의해 자동으로 호출됩니다.

static void PASCAL DeleteTempMap();

설명

멤버 함수에서 만든 임시 CWnd 개체를 FromHandle 삭제합니다.

예시

// DeleteTempMap() is a static member and does not need 
// to be called within the scope of an instantiated CWnd object.
CWnd::DeleteTempMap();

CWnd::DestroyWindow

개체에 연결된 Windows 창을 삭제 CWnd 합니다.

virtual BOOL DestroyWindow();

Return Value

창이 제거되면 0이 아닙니다. 그렇지 않으면 0입니다.

설명

멤버 함수는 DestroyWindow 창에 적절한 메시지를 보내 비활성화하고 입력 포커스를 제거합니다. 또한 창의 메뉴를 삭제하고, 애플리케이션 큐를 플러시하고, 미해결 타이머를 삭제하고, 클립보드 소유권을 제거하고, 뷰어 체인의 맨 위에 있는 경우 CWnd 클립보드-뷰어 체인을 중단합니다. 창에 메시지를 보내고 보냅니다 WM_DESTROYWM_NCDESTROY . 개체를 CWnd 삭제하지 않습니다.

DestroyWindow는 클린 수행을 위한 자리 표시자입니다. DestroyWindow 가상 함수이므로 클래스 뷰의 파생 CWnd클래스에 표시됩니다. 그러나 파생 클래스 DestroyWindow 에서 CWnd이 함수를 재정의하더라도 반드시 호출되는 것은 아닙니다. MFC 코드에서 호출되지 않은 경우 DestroyWindow 호출하려면 사용자 고유의 코드에서 명시적으로 호출해야 합니다.

예를 들어 파생 클래스에서 재정 DestroyWindowCView했다고 가정합니다. MFC 소스 코드는 파생 클래스에서 호출 DestroyWindow 되지 않으므로 명시적으로 호출하지 않는 한 재정 DestroyWindowCFrameWnd된 코드가 호출되지 않습니다.

창이 모든 창의 부모인 경우 부모 창이 제거되면 이러한 자식 창이 자동으로 제거됩니다. 멤버 함수는 DestroyWindow 자식 창을 먼저 삭제한 다음 창 자체를 삭제합니다.

멤버 함수는 DestroyWindow .에서 만든 CDialog::Create모덜리스 대화 상자도 삭제합니다.

CWnd 제거되는 창이 자식 창이고 스타일 집합 WM_PARENTNOTIFYWS_EX_NOPARENTNOTIFY 없으면 메시지가 부모로 전송됩니다.

예시

// CModeless is a CDialog class representing a modeless dialog
// Destruction of the modeless dialog involves calling DestroyWindow in 
// OnOK() & OnCancel() handlers
void CModeless::OnOK() 
{ 
   if (!UpdateData(TRUE)) 
   {
      TRACE(_T("UpdateData failed during dialog termination\n"));
      // The UpdateData routine will set focus to correct item
      return;
   }
   DestroyWindow();
}

void CModeless::OnCancel()
{
   DestroyWindow();
}

CWnd::Detach

CWnd 개체에서 Windows 핸들을 분리하고 핸들을 반환합니다.

HWND Detach();

Return Value

Windows 개체에 대한 A HWND 입니다.

예시

에 대한 예제를 CWnd::Attach참조하세요.

CWnd::DlgDirList

파일 또는 디렉터리 목록으로 목록 상자를 채웁니다.

int DlgDirList(
    LPTSTR lpPathSpec,
    int nIDListBox,
    int nIDStaticPath,
    UINT nFileType);

매개 변수

lpPathSpec
경로 또는 파일 이름을 포함하는 null로 끝나는 문자열을 가리킵니다. DlgDirList 수정을 포함할 만큼 충분히 길어야 하는 이 문자열을 수정합니다. 자세한 내용은 다음 "주의" 섹션을 참조하세요.

nIDListBox
목록 상자의 식별자를 지정합니다. 0 DlgDirList 이면 nIDListBox 목록 상자가 없고 입력을 시도하지 않는다고 가정합니다.

nIDStaticPath
현재 드라이브 및 디렉터리를 표시하는 데 사용되는 정적 텍스트 컨트롤의 식별자를 지정합니다. 0 DlgDirList 인 경우 nIDStaticPath 이러한 텍스트 컨트롤이 없는 것으로 가정합니다.

nFileType
표시할 파일의 특성을 지정합니다. 다음 값의 조합일 수 있습니다.

  • DDL_READWRITE 추가 특성이 없는 읽기-쓰기 데이터 파일입니다.

  • DDL_READONLY 읽기 전용 파일입니다.

  • DDL_HIDDEN 숨겨진 파일.

  • DDL_SYSTEM 시스템 파일.

  • DDL_DIRECTORY 디렉터리.

  • DDL_ARCHIVE 아카이브.

  • DDL_POSTMSGSLB_DIR 플래그. 플래그가 LB_DIR 설정되면 Windows는 애플리케이션의 큐에 생성된 DlgDirList 메시지를 배치합니다. 그렇지 않으면 대화 상자 프로시저로 직접 전송됩니다.

  • DDL_DRIVES 드라이브. 플래그가 DDL_DRIVES 설정되면 플래그가 DDL_EXCLUSIVE 자동으로 설정됩니다. 따라서 드라이브 및 파일을 포함하는 디렉터리 목록을 만들려면 플래그가 설정된 상태에서 한 번, 목록의 나머지 부분에 대한 플래그를 DDL_DRIVES 사용하여 두 번 호출 DlgDirList 해야 합니다.

  • DDL_EXCLUSIVE 배타적 비트입니다. 배타적 비트가 설정되면 지정된 형식의 파일만 나열됩니다. 그렇지 않으면 지정된 형식의 일반 파일과 파일이 나열됩니다.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

DlgDirList보내기 및 LB_DIR 메시지를 목록 상자로 보냅니다LB_RESETCONTENT. 지정한 목록 상자를 nIDListBox 지정된 경로 lpPathSpec와 일치하는 모든 파일의 이름으로 채웁니다.

매개 변수의 lpPathSpec 형식은 다음과 같습니다.

[drive:] [ [\u]directory[\idirectory]...\u] [filename]

이 예제 drive 에서는 드라이브 문자이고 유효한 directory 디렉터리 이름이며 filename 하나 이상의 wild카드 포함해야 하는 유효한 파일 이름입니다. 와일드카드는 물음표(?)이며, 이는 임의의 문자와 일치하고 별표()*는 임의의 문자 수와 일치한다는 의미입니다.

길이가 0인 문자열을 lpPathSpec지정하거나 디렉터리 이름만 지정하지만 파일 사양을 포함하지 않는 경우 문자열은 "*.*"로 변경됩니다.

드라이브 및/또는 디렉터리 이름이 포함된 경우 lpPathSpec 목록 상자가 채워지기 전에 현재 드라이브와 디렉터리가 지정된 드라이브 및 디렉터리로 변경됩니다. 식별된 nIDStaticPath 텍스트 컨트롤도 새 드라이브 및/또는 디렉터리 이름으로 업데이트됩니다.

목록 상자가 채워 lpPathSpec 지면 경로의 드라이브 및/또는 디렉터리 부분을 제거하여 업데이트됩니다.

예시

// If pDialog points to a CDialog object with a list box
// with the identifier IDC_DIRLIST, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));

pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);

CWnd::DlgDirListComboBox

파일 또는 디렉터리 목록으로 콤보 상자의 목록 상자를 채웁니다.

int DlgDirListComboBox(
    LPTSTR lpPathSpec,
    int nIDComboBox,
    int nIDStaticPath,
    UINT nFileType);

매개 변수

lpPathSpec
경로 또는 파일 이름을 포함하는 null로 끝나는 문자열을 가리킵니다. DlgDirListComboBox 이 문자열을 수정하므로 이 데이터는 문자열 리터럴 형식이 되어서는 안 됩니다. 다음 "주의" 섹션을 참조하세요.

nIDComboBox
대화 상자에서 콤보 상자의 식별자를 지정합니다. 0 DlgDirListComboBox 인 경우 nIDComboBox 콤보 상자가 없고 콤보 상자를 채우려고 하지 않는다고 가정합니다.

nIDStaticPath
현재 드라이브 및 디렉터리를 표시하는 데 사용되는 정적 텍스트 컨트롤의 식별자를 지정합니다. 0 DlgDirListComboBox 인 경우 nIDStaticPath 이러한 텍스트 컨트롤이 없는 것으로 가정합니다.

nFileType
표시할 파일의 DOS 파일 특성을 지정합니다. 다음 값의 조합일 수 있습니다.

  • DDL_READWRITE 추가 특성이 없는 읽기-쓰기 데이터 파일입니다.

  • DDL_READONLY 읽기 전용 파일입니다.

  • DDL_HIDDEN 숨겨진 파일.

  • DDL_SYSTEM 시스템 파일.

  • DDL_DIRECTORY 디렉터리.

  • DDL_ARCHIVE 아카이브.

  • DDL_POSTMSGSCB_DIR 플래그. 플래그가 CB_DIR 설정되면 Windows는 애플리케이션의 큐에 생성된 DlgDirListComboBox 메시지를 배치합니다. 그렇지 않으면 대화 상자 프로시저로 직접 전송됩니다.

  • DDL_DRIVES 드라이브. 플래그가 DDL_DRIVES 설정되면 플래그가 DDL_EXCLUSIVE 자동으로 설정됩니다. 따라서 드라이브 및 파일을 포함하는 디렉터리 목록을 만들려면 플래그가 설정된 상태에서 한 번, 목록의 나머지 부분에 대한 플래그를 DDL_DRIVES 사용하여 두 번 호출 DlgDirListComboBox 해야 합니다.

  • DDL_EXCLUSIVE 배타적 비트입니다. 배타적 비트가 설정되면 지정된 형식의 파일만 나열됩니다. 그렇지 않으면 지정된 형식의 일반 파일과 파일이 나열됩니다.

Return Value

함수의 결과를 지정합니다. 목록이 만들어지면 0이 아니고 빈 목록도 됩니다. 0 반환 값은 입력 문자열에 유효한 검색 경로가 없음을 의미합니다.

설명

DlgDirListComboBoxCB_RESETCONTENTCB_DIR 보 상자에 메시지를 보내고 보냅니다. 지정된 콤보 상자 nIDComboBox 의 목록 상자를 지정된 경로 lpPathSpec와 일치하는 모든 파일의 이름으로 채웁니다.

매개 변수의 lpPathSpec 형식은 다음과 같습니다.

[drive:] [ [\u]directory[\idirectory]...\u] [filename]

이 예제 drive 에서는 드라이브 문자이고 유효한 directory 디렉터리 이름이며 filename 하나 이상의 wild카드 포함해야 하는 유효한 파일 이름입니다. wild카드는 물음표(?)로, 임의의 문자와 일치하고 별표()*는 임의의 개수의 문자와 일치한다는 의미입니다.

길이가 0인 문자열을 lpPathSpec지정하면 현재 디렉터리가 사용되며 lpPathSpec 수정되지 않습니다. 디렉터리 이름만 지정하지만 파일 사양을 포함하지 않으면 문자열이 "*"로 변경됩니다.

드라이브 및/또는 디렉터리 이름이 포함된 경우 lpPathSpec 목록 상자가 채워지기 전에 현재 드라이브와 디렉터리가 지정된 드라이브 및 디렉터리로 변경됩니다. 식별된 nIDStaticPath 텍스트 컨트롤도 새 드라이브 및/또는 디렉터리 이름으로 업데이트됩니다.

콤보 상자 목록 상자가 채워지면 lpPathSpec 경로의 드라이브 및/또는 디렉터리 부분을 제거하여 업데이트됩니다.

예시

// If pDialog points to a CDialog object with a combo box
// with the identifier IDC_DIRCOMBO, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.

TCHAR szPath[MAX_PATH];
_tcsncpy_s(szPath, MAX_PATH, _T("C:\\"), MAX_PATH);
pDialog->DlgDirListComboBox(szPath, IDC_DIRCOMBO, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);

// Note that the first argument is a string and not a string
// literal. This is necessary because DlgDirListComboBox
// modifies the supplied string. Passing a string literal
// will result in an access violation.

CWnd::DlgDirSelect

목록 상자에서 현재 선택 영역을 검색합니다.

BOOL DlgDirSelect(
    LPTSTR lpString,
    int nIDListBox);

매개 변수

lpString
목록 상자에서 현재 선택 항목을 받을 버퍼를 가리킵니다.

nIDListBox
대화 상자에서 목록 상자의 정수 ID를 지정합니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

목록 상자가 멤버 함수에 의해 DlgDirList 채워졌으며 선택 영역이 드라이브 문자, 파일 또는 디렉터리 이름이라고 가정합니다.

멤버 함수는 DlgDirSelect 선택 영역을 지정한 버퍼 lpString에 복사합니다. 선택 항목 lpString 이 없으면 변경되지 않습니다.

DlgDirSelect보내기 및 LB_GETTEXT 메시지를 목록 상자로 보냅니다LB_GETCURSEL.

목록 상자에서 둘 이상의 파일 이름을 반환할 수 없습니다. 목록 상자는 다중 선택 목록 상자가 아니어야 합니다.

CWnd::DlgDirSelectComboBox

콤보 상자의 목록 상자에서 현재 선택 영역을 검색합니다.

BOOL DlgDirSelectComboBox(
    LPTSTR lpString,
    int nIDComboBox);

매개 변수

lpString
선택한 경로를 받을 버퍼를 가리킵니다.

nIDComboBox
대화 상자에서 콤보 상자의 정수 ID를 지정합니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

목록 상자가 멤버 함수에 의해 DlgDirListComboBox 채워졌으며 선택 영역이 드라이브 문자, 파일 또는 디렉터리 이름이라고 가정합니다.

멤버 함수는 DlgDirSelectComboBox 선택 영역을 지정된 버퍼에 복사합니다. 선택 항목이 없으면 버퍼의 내용이 변경되지 않습니다.

DlgDirSelectComboBoxCB_GETCURSELCB_GETLBTEXT 보 상자에 메시지를 보내고 보냅니다.

콤보 상자에서 둘 이상의 파일 이름을 반환할 수 없습니다.

CWnd::DoDataExchange

대화 상자 데이터를 교환하고 유효성을 검사하기 위해 프레임워크에서 호출됩니다.

virtual void DoDataExchange(CDataExchange* pDX);

매개 변수

pDX
CDataExchange 개체에 대한 포인터입니다.

설명

이 함수를 직접 호출하지 마세요. 멤버 함수에 UpdateData 의해 호출됩니다. 대화 상자의 컨트롤을 초기화하거나 대화 상자에서 데이터를 검색하기 위해 호출 UpdateData 합니다.

애플리케이션별 대화 상자 클래스 CDialog를 파생하는 경우 프레임워크의 자동 데이터 교환 및 유효성 검사를 활용하려면 이 멤버 함수를 재정의해야 합니다. 변수 추가 마법사는 DDX(대화 상자 데이터 교환) 및 유효성 검사(DDV) 전역 함수 호출의 원하는 "데이터 맵"을 포함하는 이 멤버 함수의 재정의된 버전을 작성합니다.

이 멤버 함수의 재정의된 버전을 자동으로 생성하려면 먼저 대화 편집기를 사용하여 대화 리소스를 만든 다음 애플리케이션별 대화 상자 클래스를 파생합니다. 그런 다음 변수 추가 마법사를 사용하여 변수, 데이터 및 유효성 검사 범위를 새 대화 상자의 다양한 컨트롤과 연결합니다. 그런 다음, 마법사는 데이터 맵을 포함하는 재정 DoDataExchange의된 항목을 씁니다. 다음은 변수 추가 마법사에서 생성된 DDX/DDV 코드 블록의 예입니다.

void CPenWidthsDlg::DoDataExchange(CDataExchange *pDX)
{
   CDialog::DoDataExchange(pDX);
   DDX_Text(pDX, IDC_THINPENWIDTH, m_nThinWidth);
   DDV_MinMaxInt(pDX, m_nThinWidth, 1, 20);
   DDX_Text(pDX, IDC_THICKPENWIDTH, m_nThickWidth);
   DDV_MinMaxInt(pDX, m_nThickWidth, 1, 20);
}

재정의된 멤버 함수는 DoDataExchange 소스 파일의 매크로 문 앞에 있어야 합니다.

대화 상자 데이터 교환 및 유효성 검사에 대한 자세한 내용은 폼 및 대화 상자 데이터 교환 및 유효성 검사에서 데이터 표시 및 조작을 참조하세요. 변수 추가 마법사에서 생성된 DDX_ 및 DDV_ 매크로에 대한 설명은 Technical Note 26을 참조하세요.

CWnd::DragAcceptFiles

응용 프로그램의 CWinApp::InitInstance 함수에서 포인터를 CWnd 사용하여 창 내에서 이 멤버 함수를 호출하여 창이 Windows 파일 관리자 또는 파일 탐색기 삭제된 파일을 허용함을 나타냅니다.

void DragAcceptFiles(BOOL bAccept = TRUE);

매개 변수

BAccept
끌어서 들인 파일이 허용되는지 여부를 나타내는 플래그입니다.

설명

매개 변수가 설정된 상태에서 호출 DragAcceptFilesbAccept 하는 TRUE 창만 Windows 메시지를 WM_DROPFILES처리할 수 있는 것으로 식별되었습니다. 예를 들어 MDI 애플리케이션에서 창 포인터가 CMDIFrameWnd 함수 호출에 DragAcceptFiles 사용되는 경우 창만 CMDIFrameWnd 메시지를 가져옵니다 WM_DROPFILES . 이 메시지는 열려 CMDIChildWnd 있는 모든 창으로 전송되지 않습니다. 창에서 CMDIChildWnd 이 메시지를 받으려면 창 포인터를 CMDIChildWnd 사용하여 호출 DragAcceptFiles 해야 합니다.

끌어간 파일 수신을 중단하려면 다음으로 설정된 멤버 함수 bAccept 를 호출합니다 FALSE.

CWnd::DragDetect

마우스를 캡처하고 사용자가 왼쪽 단추를 놓거나, Esc 키를 누르거나, 지정된 점 주위의 끌기 사각형 밖으로 마우스를 이동할 때까지 이동을 추적합니다.

BOOL DragDetect(POINT pt) const;

매개 변수

pt
화면 좌표에서 마우스의 초기 위치입니다. 함수는 이 점을 사용하여 끌기 사각형의 좌표를 결정합니다.

Return Value

왼쪽 단추를 누른 상태에서 마우스를 끌기 사각형 밖으로 이동한 경우 반환 값은 0이 아닌 값입니다.

왼쪽 단추를 누른 상태에서 마우스를 끌기 사각형 바깥쪽으로 이동하지 않은 경우 반환 값은 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 DragDetect의 기능을 에뮬레이트합니다.

CWnd::DrawAnimatedRects

와이어프레임 사각형을 그리고 애니메이션하여 아이콘 열기 또는 창의 최소화나 최대화를 나타냅니다.

BOOL DrawAnimatedRects(
    int idAni,
    CONST RECT* lprcFrom,
    CONST RECT* lprcTo);

매개 변수

idAni
애니메이션 유형을 지정합니다. 지정IDANI_CAPTION하는 경우 캡션 창이 지정한 lprcFrom 위치에서 지정된 위치lprcTo로 애니메이션 효과를 옵니다. 효과는 창을 최소화하거나 최대화하는 것과 유사합니다.

lprcFrom
RECT 아이콘 또는 최소화된 창의 위치와 크기를 지정하는 구조체에 대한 포인터입니다.

lprcTo
복원된 RECT 창의 위치 및 크기를 지정하는 구조체에 대한 포인터

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 DrawAnimatedRects의 기능을 에뮬레이트합니다.

CWnd::DrawCaption

창 캡션 그립니다.

BOOL DrawCaption(
    CDC* pDC,
    LPCRECT lprc,
    UINT uFlags);

매개 변수

pDC
디바이스 컨텍스트에 대한 포인터입니다. 이 함수는 창 캡션 이 디바이스 컨텍스트로 그립니다.

lprc
창 캡션 경계 사각형을 지정하는 구조체에 대한 포인터 RECT 입니다.

uFlags
그리기 옵션을 지정합니다. 전체 값 목록은 다음을 참조하세요 DrawCaption.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 DrawCaption의 기능을 에뮬레이트합니다.

CWnd::DrawMenuBar

메뉴 모음을 다시 그립니다.

void DrawMenuBar();

설명

Windows에서 창을 만든 후 메뉴 모음이 변경된 경우 이 함수를 호출하여 변경된 메뉴 모음을 그립니다.

예시

에 대한 예제를 CWnd::GetMenu참조하세요.

CWnd::EnableActiveAccessibility

사용자 정의 Active Accessibility 함수를 사용하도록 설정합니다.

void EnableActiveAccessibility();

설명

MFC의 기본 활성 접근성 지원은 ActiveX 컨트롤을 비롯한 표준 창 및 컨트롤에 충분합니다. 그러나 -derived 클래스에 해제되지 않은 사용자 인터페이스 요소가 포함되어 있으면 CWndMFC는 이에 대해 알 수 있는 방법이 없습니다. 이 경우 클래스에서 적절한 Active Accessibility 멤버 함수를 재정의해야 하며 클래스의 생성자에서 호출 EnableActiveAccessibility 해야 합니다.

CWnd::EnableDynamicLayout

동적 레이아웃 관리자를 사용하거나 사용하지 않도록 설정합니다. 동적 레이아웃을 사용하는 경우 사용자가 창의 크기를 조정하면 자식 창의 위치 및 크기가 동적으로 조정됩니다.

void EnableDynamicLayout(BOOL bEnable = TRUE);

매개 변수

bEnable
TRUE 동적 레이아웃을 사용하도록 설정하려면 FALSE 동적 레이아웃을 사용하지 않도록 설정합니다.

설명

동적 레이아웃을 사용하도록 설정하려는 경우 이 메서드를 호출하기만 하면 됩니다. 창의 컨트롤이 크기 변경에 대응하는 방식을 지정하는 동적 레이아웃 정보도 제공해야 합니다. 리소스 편집기에서 또는 프로그래밍 방식으로 각 컨트롤에 대해 이 정보를 지정할 수 있습니다. 동적 레이아웃을 참조하세요.

CWnd::EnableD2DSupport

D2D 지원을 사용하거나 사용하지 않도록 설정합니다. 주 창이 초기화되기 전에 이 메서드를 호출합니다.

void EnableD2DSupport(
    BOOL bEnable = TRUE,
    BOOL bUseDCRenderTarget = FALSE);

매개 변수

bEnable
D2D 지원을 설정 또는 해제할지를 지정합니다.

bUseDCRenderTarget
디바이스 컨텍스트(DC) 렌더링 대상을 사용할지 여부를 종으로 지정 CDCRenderTarget합니다. FALSE인 경우 CHwndRenderTarget가 사용됩니다.

CWnd::EnableScrollBar

스크롤 막대의 화살표 하나 또는 둘 다를 사용하거나 사용하지 않도록 설정합니다.

BOOL EnableScrollBar(
    int nSBFlags,
    UINT nArrowFlags = ESB_ENABLE_BOTH);

매개 변수

nSBFlags
스크롤 막대 유형을 지정합니다. 다음 값 중 하나가 될 수 있습니다.

  • SB_BOTH 창과 연결된 가로 및 세로 스크롤 막대의 화살표를 사용하거나 사용하지 않도록 설정합니다.

  • SB_HORZ 창과 연결된 가로 스크롤 막대의 화살표를 사용하거나 사용하지 않도록 설정합니다.

  • SB_VERT 창과 연결된 세로 스크롤 막대의 화살표를 사용하거나 사용하지 않도록 설정합니다.

nArrowFlags
스크롤 막대 화살표를 사용하거나 사용하지 않도록 설정할지, 어떤 화살표를 사용하도록 설정하거나 사용하지 않도록 설정할지를 지정합니다. 다음 값 중 하나가 될 수 있습니다.

  • ESB_ENABLE_BOTH 스크롤 막대의 두 화살표를 모두 사용하도록 설정합니다(기본값).

  • ESB_DISABLE_LTUP 가로 스크롤 막대의 왼쪽 화살표 또는 세로 스크롤 막대의 위쪽 화살표를 사용하지 않도록 설정합니다.

  • ESB_DISABLE_RTDN 가로 스크롤 막대의 오른쪽 화살표 또는 세로 스크롤 막대의 아래쪽 화살표를 사용하지 않도록 설정합니다.

  • ESB_DISABLE_BOTH 스크롤 막대의 두 화살표를 모두 사용하지 않도록 설정합니다.

Return Value

지정된 대로 화살표를 사용하거나 사용하지 않도록 설정한 경우 0이 아닌 경우 그렇지 않으면 화살표가 이미 요청된 상태이거나 오류가 발생했음을 나타내는 0입니다.

CWnd::EnableScrollBarCtrl

이 창에 스크롤 막대를 사용하거나 사용하지 않도록 설정합니다.

void EnableScrollBarCtrl(
    int nBar,
    BOOL bEnable = TRUE);

매개 변수

nBar
스크롤 막대 식별자입니다.

bEnable
스크롤 막대를 사용할지 여부를 지정합니다.

설명

창에 형제 스크롤 막대 컨트롤이 있는 경우 해당 스크롤 막대가 사용됩니다. 그렇지 않으면 창의 고유한 스크롤 막대가 사용됩니다.

CWnd::EnableToolTips

지정된 창에 대한 도구 팁을 사용하도록 설정합니다.

BOOL EnableToolTips(BOOL bEnable = TRUE);

매개 변수

bEnable
도구 설명 컨트롤의 사용 여부를 지정합니다. TRUE 컨트롤을 사용하도록 설정합니다. FALSE 는 컨트롤을 사용하지 않도록 설정합니다.

Return Value

TRUE 도구 팁을 사용하도록 설정하면 FALSE.

설명

창에 TOOLINFO 대한 구조체 또는 구조체를 제공하도록 재정 OnToolHitTest 의합니다.

참고 항목

와 같은 CToolBar일부 창은 기본 제공 구현을 OnToolHitTest제공합니다.

이 구조에 대한 자세한 내용은 Windows SDK를 참조 TOOLINFO 하세요.

부모 창에서 파생CFrameWnd되지 않는 한 단순히 호출 EnableToolTips 만으로는 자식 컨트롤에 대한 도구 팁을 표시하기에 충분하지 않습니다. 알림에 대한 기본 처리기를 제공하기 때문 TTN_NEEDTEXT 입니다CFrameWnd. 부모 창에서 CFrameWnd파생되지 않은 경우, 즉 대화 상자 또는 양식 보기인 경우 도구 설명 알림에 대한 처리기를 제공하지 않으면 자식 컨트롤에 대한 도구 설명이 TTN_NEEDTEXT 올바르게 표시되지 않습니다. 도구 팁 참조하세요.

창에 EnableToolTips 제공되는 기본 도구 팁에는 연결된 텍스트가 없습니다. 표시 TTN_NEEDTEXT 할 도구 설명의 텍스트를 검색하기 위해 도구 설명 창이 표시되기 직전에 알림이 도구 설명 컨트롤의 부모 창으로 전송됩니다. 구조체의 TOOLTIPTEXT 멤버에 일부 값을 할당하는 pszText 이 메시지에 대한 처리기가 없으면 도구 설명에 대한 텍스트가 표시되지 않습니다.

예시

// From message map for CMdiView, a CView-derived class
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, &CMdiView::OnToolTipNotify)

 

void CMdiView::OnInitialUpdate()
{
   CView::OnInitialUpdate();

   m_Edit.Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
                 CRect(10, 10, 100, 100), this, IDC_TTEDIT);
   EnableToolTips(TRUE); // enable tool tips for view
}

//Notification handler
BOOL CMdiView::OnToolTipNotify(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
   UNREFERENCED_PARAMETER(id);
   UNREFERENCED_PARAMETER(pResult);

   // need to handle both ANSI and UNICODE versions of the message
   TOOLTIPTEXTA *pTTTA = (TOOLTIPTEXTA*)pNMHDR;
   TOOLTIPTEXTW *pTTTW = (TOOLTIPTEXTW*)pNMHDR;
   CStringA strTipText;
   UINT_PTR nID = pNMHDR->idFrom;
   if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
       pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
   {
      // idFrom is actually the HWND of the tool
      nID = ::GetDlgCtrlID((HWND)nID);
   }

   if (nID != 0) // will be zero on a separator
      strTipText.Format("Control ID = %d", nID);

   if (pNMHDR->code == TTN_NEEDTEXTA)
   {
      strncpy_s(pTTTA->szText, sizeof(pTTTA->szText), strTipText,
                strTipText.GetLength() + 1);
   }
   else
   {
      ::MultiByteToWideChar(CP_ACP, 0, strTipText, strTipText.GetLength() + 1,
                            pTTTW->szText, sizeof(pTTTW->szText) / (sizeof pTTTW->szText[0]));
   }

   return TRUE; // message was handled
}

CWnd::EnableTrackingToolTips

추적 도구 설명을 사용하거나 사용하지 않도록 설정합니다.

BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);

매개 변수

bEnable
추적 도구 팁을 사용할지 여부를 지정합니다. 이 매개 변수인 TRUE경우 추적 도구 팁이 사용하도록 설정됩니다. 이 매개 변수인 FALSE경우 추적 도구 팁이 비활성화됩니다.

Return Value

멤버 함수가 호출되기 전의 EnableWindow 상태를 나타냅니다. 이전에 창을 사용하지 않도록 설정한 경우 반환 값은 0이 아닌 값입니다. 창이 이전에 활성화되었거나 오류가 발생한 경우 반환 값은 0입니다.

설명

추적 도구 팁은 화면에 동적으로 배치할 수 있는 도구 팁 창입니다. 위치를 빠르게 업데이트하면 도구 설명 창이 원활하게 이동하거나 "추적"하는 것처럼 보입니다. 이 기능은 이동할 때 포인터의 위치를 따르기 위해 도구 설명 텍스트가 필요한 경우에 유용할 수 있습니다.

CWnd::EnableWindow

마우스 및 키보드 입력을 사용하거나 사용하지 않도록 설정합니다.

BOOL EnableWindow(BOOL bEnable = TRUE);

매개 변수

bEnable
지정된 창을 사용할지 아니면 사용하지 않도록 설정할지를 지정합니다. 이 매개 변수인 TRUE경우 창이 활성화됩니다. 이 매개 변수인 FALSE경우 창이 비활성화됩니다.

Return Value

멤버 함수가 호출되기 전의 EnableWindow 상태를 나타냅니다. 이전에 창을 사용하지 않도록 설정한 경우 반환 값은 0이 아닌 값입니다. 창이 이전에 활성화되었거나 오류가 발생한 경우 반환 값은 0입니다.

설명

입력을 사용하지 않도록 설정하면 마우스 클릭 및 키 입력과 같은 입력이 무시됩니다. 입력을 사용하도록 설정하면 창에서 모든 입력을 처리합니다.

사용 상태가 변경되면 이 함수가 WM_ENABLE 반환되기 전에 메시지가 전송됩니다.

사용하지 않도록 설정된 경우 모든 자식 창은 메시지를 보내지 WM_ENABLE 않지만 암시적으로 사용하지 않도록 설정됩니다.

창을 활성화하려면 먼저 창을 사용하도록 설정해야 합니다. 예를 들어 애플리케이션이 모덜리스 대화 상자를 표시하고 기본 창을 사용하지 않도록 설정한 경우 대화 상자가 제거되기 전에 기본 창을 사용하도록 설정해야 합니다. 그렇지 않으면 다른 창에서 입력 포커스를 가져와서 활성화합니다. 자식 창을 사용하지 않도록 설정하면 Windows에서 마우스 메시지를 가져올 창을 결정하려고 할 때 무시됩니다.

기본적으로 창은 생성될 때 사용하도록 설정됩니다. 애플리케이션은 또는 CreateEx 멤버 함수에서 Create 스타일을 지정 WS_DISABLED 하여 처음에 사용하지 않도록 설정된 창을 만들 수 있습니다. 창을 만든 후 애플리케이션은 멤버 함수를 EnableWindow 사용하여 창을 사용하거나 사용하지 않도록 설정할 수도 있습니다.

애플리케이션은 이 함수를 사용하여 대화 상자에서 컨트롤을 사용하거나 사용하지 않도록 설정할 수 있습니다. 비활성화된 컨트롤은 입력 포커스를 받을 수 없으며 사용자가 액세스할 수 없습니다.

예시

//CMyFileDialog is a CFileDialog-derived class
//OnInitDialog is the handler for WM_INITDIALOG
BOOL CMyFileDialog::OnInitDialog()
{
   CFileDialog::OnInitDialog();

   CWnd *pWndParent = GetParent();

   //make sure you add #include <dlgs.h> for IDs 'edt1' & 'stc3'

   //disables the 'file name' edit and static control
   //of the standard file open dialog

   //get handle of 'file name' combobox control & disable it
   CWnd *pWnd = pWndParent->GetDlgItem(cmb13);
   pWnd->EnableWindow(FALSE);

   //get handle of 'file name' static control & disable it
   pWnd = pWndParent->GetDlgItem(stc3);
   pWnd->EnableWindow(FALSE);

   return TRUE;
}

CWnd::EndModalLoop

에 대한 호출 RunModalLoop을 종료합니다.

virtual void EndModalLoop(int nResult);

매개 변수

nResult
의 호출자에게 RunModalLoop반환할 값을 포함합니다.

설명

nResult 매개 변수가 .에서 RunModalLoop반환 값으로 전파됩니다.

CWnd::EndModalState

프레임 창을 모달에서 모덜리스로 변경하려면 이 멤버 함수를 호출합니다.

virtual void EndModalState();

CWnd::EndPaint

지정된 창에 그림의 끝을 표시합니다.

void EndPaint(LPPAINTSTRUCT lpPaint);

매개 변수

lpPaint
멤버 함수에서 PAINTSTRUCT 검색 BeginPaint 한 그리기 정보를 포함하는 구조를 가리킵니다.

설명

멤버 함수는 EndPaint 멤버 함수에 대한 각 호출에 BeginPaint 필요하지만 그리기는 완료된 후에만 필요합니다.

멤버 함수 EndPaint 에 의해 BeginPaint 캐리트가 숨겨져 있으면 해당 캐리트를 화면으로 복원합니다.

예시

에 대한 예제를 CWnd::BeginPaint참조하세요.

CWnd::ExecuteDlgInit

대화 상자 리소스를 시작합니다.

BOOL ExecuteDlgInit(LPCTSTR lpszResourceName);
BOOL ExecuteDlgInit(LPVOID lpResource);

매개 변수

lpszResourceName
리소스의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다.

lpResource
리소스에 대한 포인터입니다.

Return Value

TRUE 대화 상자 리소스가 실행되면 이고, 그렇지 않으면 FALSE.

설명

ExecuteDlgInit 는 실행 중인 모듈에 바인딩된 리소스 또는 다른 원본의 리소스를 사용합니다. 이렇게 ExecuteDlgInit 하려면 호출 AfxFindResourceHandle하여 리소스 핸들을 찾습니다. MFC 애플리케이션이 공유 DLL(MFCx0[U][D].DLL) AfxFindResourceHandle 을 사용하지 않는 경우 실행 파일에 대한 현재 리소스 핸들을 반환하는 호출 AfxGetResourceHandle입니다. MFCx0[U][D].DLL AfxFindResourceHandle 을 사용하는 MFC 애플리케이션이 올바른 리소스 핸들을 CDynLinkLibrary 찾는 공유 및 MFC 확장 DLL의 개체 목록을 트래버스하는 경우

CWnd::FilterToolTipMessage

도구 설명 메시지를 표시하기 위해 프레임워크에서 호출됩니다.

void FilterToolTipMessage(MSG* pMsg);

매개 변수

pMsg
도구 설명 메시지에 대한 포인터입니다.

설명

대부분의 MFC 애플리케이션에서 이 메서드는 프레임워크에서 PreTranslateMessage 호출되며 EnableToolTips직접 호출할 필요가 없습니다.

그러나 일부 ActiveX 컨트롤과 같은 특정 애플리케이션에서 이러한 메서드는 프레임워크에서 호출되지 않을 수 있으며 직접 호출 FilterToolTipMessage 해야 합니다. 자세한 내용은 도구 팁 만드는 방법을 참조하세요.

CWnd::FindWindow

창 클래스가 지정 lpszClassName 되고 창 이름 또는 제목lpszWindowName이 지정된 최상위 수준을 CWnd 반환합니다.

static CWnd* PASCAL FindWindow(
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName);

매개 변수

lpszClassName
창의 클래스 이름(구조체)을 지정하는 null로 끝나는 문자열을 WNDCLASS 가리킵니다. 이 NULL경우 lpClassName 모든 클래스 이름이 일치합니다.

lpszWindowName
창 이름(창의 제목)을 지정하는 null로 끝나는 문자열을 가리킵니다. 이 NULL경우 lpWindowName 모든 창 이름이 일치합니다.

Return Value

지정된 클래스 이름과 창 이름을 포함하는 창을 식별합니다. NULL 이러한 창을 찾을 수 없는 경우입니다.

*는 CWnd일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

이 함수는 자식 창을 검색하지 않습니다.

예시

// activate an application with a window with a specific class name
BOOL CMyApp::FirstInstance()
{
   CWnd *pWndPrev, *pWndChild;

   // Determine if a window with the class name exists...
   pWndPrev = CWnd::FindWindow(_T("MyNewClass"), NULL);
   if (NULL != pWndPrev)
   {
      // If so, does it have any popups?
      pWndChild = pWndPrev->GetLastActivePopup();

      // If iconic, restore the main window
      if (pWndPrev->IsIconic())
         pWndPrev->ShowWindow(SW_RESTORE);

      // Bring the main window or its popup to the foreground
      pWndChild->SetForegroundWindow();

      // and you are done activating the other application
      return FALSE;
   }

   return TRUE;
}

CWnd::FindWindowEx

클래스 이름과 창 이름이 지정된 문자열과 일치하는 창 개체를 검색합니다.

static CWnd* FindWindowEx(
    HWND hwndParent,
    HWND hwndChildAfter,
    LPCTSTR lpszClass,
    LPCTSTR lpszWindow);

매개 변수

hwndParent
자식 창을 검색할 부모 창에 대한 핸들입니다.

hwndChildAfter
자식 창에 대한 핸들입니다. 검색은 Z 순서의 다음 자식 창으로 시작합니다. 자식 창은 하위 창이 아니라 직접 자식 창 hwndParent이어야 합니다.

lpszClass
클래스 이름 또는 이전 호출 RegisterClass 에서 만든 클래스 원자를 지정하는 null로 끝나는 문자열에 대한 포인터입니다 RegisterClassEx.

lpszWindow
창 이름(창 제목)을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 매개 변수인 NULL경우 모든 창 이름이 일치합니다.

Return Value

함수가 성공하면 반환 값은 지정된 클래스와 창 이름을 가진 창 개체에 대한 포인터입니다. 함수가 실패하면 반환 값은 .입니다 NULL.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 FindWindowEx의 기능을 에뮬레이트합니다.

CWnd::FlashWindow

지정된 창을 한 번 깜박입니다.

BOOL FlashWindow(BOOL bInvert);

매개 변수

bInvert
플래시할지 아니면 원래 상태로 반환할지를 CWnd 지정합니다. 한 CWnd 상태에서 다른 상태로 깜박입니다TRUE(있는 경우bInvert). 이 FALSE경우 bInvert 창이 원래 상태로 반환됩니다(활성 또는 비활성).

Return Value

멤버 함수를 호출하기 FlashWindow 전에 창이 활성 상태이면 0이 아니고, 그렇지 않으면 0입니다.

설명

연속 깜박임의 경우 시스템 타이머를 만들고 반복적으로 호출 FlashWindow합니다. 깜박임 CWnd 은 제목 표시줄의 모양을 비활성에서 활성 상태 변경하는 것처럼 CWnd 변경하거나 그 반대로 변경하는 것을 의미합니다. (비활성 제목 표시줄은 활성 제목 표시줄로 변경됩니다. 활성 제목 표시줄은 비활성 제목 표시줄로 변경됩니다.)

일반적으로 사용자에게 주의가 필요하지만 현재 입력 포커스가 없음을 알리기 위해 창이 깜박입니다.

매개 변수는 bInvert 창이 입력 포커스를 가져오는 경우에만 있어야 FALSE 하며 더 이상 깜박이지 않습니다. 입력 포커스를 얻기 위해 기다리는 동안 연속 호출에 있어야 TRUE 합니다.

이 함수는 항상 최소화된 창에 대해 0이 아닌 값을 반환합니다. 창이 최소화 FlashWindow 되면 창의 아이콘 bInvert 이 깜박이고 최소화된 창에서는 무시됩니다.

예시

BOOL CPenWidthsDlg::OnInitDialog()
{
   CDialog::OnInitDialog();

   // set timer to cause dialog to flash
   SetTimer(1, 500, NULL);
   return TRUE; // return TRUE unless you set the focus to a control
}

void CPenWidthsDlg::OnTimer(UINT_PTR nIDEvent)
{
   // cause the dialog to flash
   FlashWindow(TRUE);
   CDialog::OnTimer(nIDEvent);
}

CWnd::FlashWindowEx

지정된 창을 깜박입니다.

BOOL FlashWindowEx(
    DWORD dwFlags,
    UINT uCount,
    DWORD dwTimeout);

매개 변수

*dwFlags*
플래시 상태 지정합니다. 값의 전체 목록은 구조를 참조하세요 FLASHWINFO .

uCount
창을 플래시할 횟수를 지정합니다.

dwTimeout
창이 깜박이는 속도를 밀리초 단위로 지정합니다. 0이면 dwTimeout 함수는 기본 커서 깜박임 속도를 사용합니다.

Return Value

반환 값은 함수를 호출하기 전에 창의 상태를 지정합니다 FlashWindowEx . 호출 전에 창 캡션 활성으로 그려진 경우 반환 값은 0이 아닌 값입니다. 그렇지 않으면 반환 값은 0입니다.

설명

이 메서드는 Windows SDK에 설명된 대로 함수 FlashWindowEx의 기능을 에뮬레이트합니다.

CWnd::FromHandle

창에 핸들을 지정한 경우 CWnd 개체에 대한 포인터를 반환합니다. 개체가 CWnd 핸들에 연결되지 않은 경우 임시 CWnd 개체가 만들어지고 연결됩니다.

static CWnd* PASCAL FromHandle(HWND hWnd);

매개 변수

hWnd
HWND Windows 창입니다.

Return Value

창에 핸들을 지정한 경우 CWnd 개체에 대한 포인터를 반환합니다. 개체가 CWnd 핸들에 연결되지 않은 경우 임시 CWnd 개체가 만들어지고 연결됩니다.

포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

CWnd::FromHandlePermanent

창에 핸들을 지정한 경우 CWnd 개체에 대한 포인터를 반환합니다.

static CWnd* PASCAL FromHandlePermanent(HWND hWnd);

매개 변수

hWnd
HWND Windows 창입니다.

Return Value

CWnd 개체에 대한 포인터입니다.

설명

개체가 CWnd 핸들 NULL 에 연결되지 않은 경우 반환됩니다.

이 함수는 달리 FromHandle임시 개체를 만들지 않습니다.

CWnd::get_accChild

지정된 자식의 IDispatch 인터페이스 주소를 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accChild(
    VARIANT varChild,
    IDispatch** ppdispChild);

매개 변수

varChild
인터페이스를 검색할 자식 IDispatch 식별합니다.

ppdispChild
자식 개체 인터페이스의 IDispatch 주소를 받습니다.

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::get_accChild 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

권한이 없는 사용자 인터페이스 요소가 있는 경우(MFC가 CWnd처리하는 창 없는 ActiveX 컨트롤 제외) 파생 클래스에서 이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accChild 하세요.

CWnd::get_accChildCount

이 개체에 속하는 자식 수를 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accChildCount(long* pcountChildren);

매개 변수

pcountChildren
자식 수를 받습니다.

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::get_accChildCount 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

권한이 없는 사용자 인터페이스 요소가 있는 경우(MFC가 CWnd처리하는 창 없는 ActiveX 컨트롤 제외) 파생 클래스에서 이 함수를 재정의합니다. 기본 클래스 버전을 호출한 다음, 해제할 수 없는 자식 요소를 추가합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accChildCount 하세요.

CWnd::get_accDefaultAction

개체의 기본 작업을 설명하는 문자열을 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accDefaultAction(
    VARIANT varChild,
    BSTR* pszDefaultAction);

매개 변수

varChild
검색할 기본 동작이 개체의 동작인지 아니면 개체의 자식 요소 중 하나인지를 지정합니다. 이 매개 변수는 CHILDID_SELF (개체에 대한 정보를 가져오기 위해) 또는 자식 ID(개체의 자식 요소에 대한 정보를 얻기 위해)일 수 있습니다.

pszDefaultAction
지정된 개체의 BSTR 기본 동작을 설명하는 지역화된 문자열을 받는 주소이거나 NULL 이 개체에 기본 동작이 없는 경우

Return Value

성공에 대한 S_OK 반환하며 실패시 COM 오류 코드입니다. Windows SDK의 IAccessible::get_accDefaultAction 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

개체의 기본 동작을 설명하기 위해 파생 클래스에서 CWnd이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accDefaultAction 하세요.

CWnd::get_accDescription

지정한 개체의 모양을 설명하는 문자열을 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accDescription(
    VARIANT varChild,
    BSTR* pszDescription);

매개 변수

varChild
검색할 설명이 개체의 설명인지 아니면 개체의 자식 요소 중 하나인지를 지정합니다. 이 매개 변수는 CHILDID_SELF (개체에 대한 정보를 가져오기 위해) 또는 자식 ID(개체의 자식 요소에 대한 정보를 얻기 위해)일 수 있습니다.

pszDescription
BSTR 지정된 개체를 설명하는 지역화된 문자열을 받는 주소이거나 NULL 이 개체에 대한 설명을 사용할 수 없는 경우

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::get_accDescription 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

-derived 클래스에서 CWnd이 함수를 재정의하여 개체를 설명합니다. 기본 클래스 버전을 호출하고 설명을 추가합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accDescription 하세요.

CWnd::get_accFocus

키보드 포커스가 있는 개체를 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accFocus(VARIANT* pvarChild);

매개 변수

pvarChild
포커스가 있는 개체에 대한 정보를 받습니다. Windows SDK에서 IAccessible::get_accFocus 참조 pvarID 하세요.

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::get_accFocus 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

권한이 없는 사용자 인터페이스 요소가 있는 경우(MFC가 CWnd처리하는 창 없는 ActiveX 컨트롤 제외) 파생 클래스에서 이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accFocus 하세요.

CWnd::get_accHelp

개체의 도움말 속성 문자열을 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accHelp(
    VARIANT varChild,
    BSTR* pszHelp);

매개 변수

varChild
검색할 도움말 정보가 개체의 정보인지 아니면 개체의 자식 요소 중 하나인지를 지정합니다. 이 매개 변수는 CHILDID_SELF (개체에 대한 정보를 가져오기 위해) 또는 자식 ID(개체의 자식 요소에 대한 정보를 얻기 위해)일 수 있습니다.

pszHelp
지정된 개체에 BSTR 대한 도움말 정보를 포함하는 지역화된 문자열을 받는 주소이거나 NULL 도움말 정보를 사용할 수 없는 경우

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::get_accHelp 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

개체에 대한 도움말 텍스트를 제공하도록 파생 클래스에서 CWnd이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accHelp 하세요.

CWnd::get_accHelpTopic

지정된 개체와 연결된 WinHelp 파일의 전체 경로와 해당 파일 내의 적절한 토픽 식별자를 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accHelpTopic(
    BSTR* pszHelpFile,
    VARIANT varChild,
    long* pidTopic);

매개 변수

pszHelpFile
BSTR 지정된 개체와 연결된 파일의 WinHelp 전체 경로를 받는 주소(있는 경우)입니다.

varChild
검색할 도움말 항목이 개체의 항목인지 아니면 개체의 자식 요소 중 하나인지를 지정합니다. 이 매개 변수는 CHILDID_SELF (개체에 대한 도움말 항목을 가져오기 위해) 또는 자식 ID(개체의 자식 요소 중 하나에 대한 도움말 항목을 가져오기 위해)일 수 있습니다.

pidTopic
지정된 개체와 연결된 도움말 파일 항목을 식별합니다. Windows SDK에서 IAccessible::get_accHelpTopic 참조 pidTopic 하세요.

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::get_accHelpTopic 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

개체에 대한 도움말 정보를 제공하려면 파생 클래스에서 CWnd이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accHelpTopic 하세요.

CWnd::get_accKeyboardShortcut

지정된 개체의 바로 가기 키 또는 선택키를 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accKeyboardShortcut(
    VARIANT varChild,
    BSTR* pszKeyboardShortcut);

매개 변수

varChild
검색할 바로 가기 키가 개체의 바로 가기 키인지 아니면 개체의 자식 요소 중 하나인지를 지정합니다. 이 매개 변수는 CHILDID_SELF (개체에 대한 정보를 가져오기 위해) 또는 자식 ID(개체의 자식 요소에 대한 정보를 얻기 위해)일 수 있습니다.

pszKeyboardShortcut
BSTR 바로 가기 키를 식별하는 지역화된 문자열을 수신하거나 NULL 지정된 개체와 연결된 바로 가기 키가 없는 경우의 주소입니다.

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::get_accKeyboardShortcut 반환 값을 참조하세요.

설명

이 함수는 MFC 지원의 Active Accessibility 일부입니다.

파생 클래스에서 CWnd이 함수를 재정의하여 개체의 바로 가기 키를 식별합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accKeyboardShortcut 하세요.

CWnd::get_accName

지정된 개체의 이름을 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accName(
    VARIANT varChild,
    BSTR* pszName);

매개 변수

varChild
검색할 이름이 개체의 이름인지 아니면 개체의 자식 요소 중 하나인지를 지정합니다. 이 매개 변수는 CHILDID_SELF (개체에 대한 정보를 가져오기 위해) 또는 자식 ID(개체의 자식 요소에 대한 정보를 얻기 위해)일 수 있습니다.

pszName
지정된 개체의 BSTR 이름을 포함하는 문자열을 수신하는 주소입니다.

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::get_accName 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

개체의 이름을 반환하려면 파생 클래스에서 CWnd이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accName 하세요.

CWnd::get_accParent

개체 부모의 IDispatch 인터페이스를 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accParent(IDispatch** ppdispParent);

매개 변수

ppdispParent
부모 개체 인터페이스의 IDispatch 주소를 받습니다. 변수는 부모가 없거나 자식이 부모에 액세스할 수 없는 경우로 설정 NULL 됩니다.

Return Value

성공 COM 에 대해 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::get_accParent 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

대부분의 경우 이 함수를 재정의할 필요가 없습니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accParent 하세요.

CWnd::get_accRole

지정된 개체의 역할을 설명하는 정보를 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accRole(
    VARIANT varChild,
    VARIANT* pvarRole);

매개 변수

varChild
검색할 역할 정보가 개체의 역할 정보인지 아니면 개체의 자식 요소 중 하나인지를 지정합니다. 이 매개 변수는 CHILDID_SELF (개체에 대한 정보를 가져오기 위해) 또는 자식 ID(개체의 자식 요소에 대한 정보를 얻기 위해)일 수 있습니다.

pvarRole
역할 정보를 받습니다. Windows SDK에서 IAccessible::get_accRole 참조 pvarRole 하세요.

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::get_accRole 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

권한이 없는 사용자 인터페이스 요소가 있는 경우(MFC가 CWnd처리하는 창 없는 ActiveX 컨트롤 제외) 파생 클래스에서 이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accRole 하세요.

CWnd::get_accSelection

이 개체의 선택된 자식 개체를 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accSelection(VARIANT* pvarChildren);

매개 변수

pvarChildren
선택한 자식에 대한 정보를 받습니다. Windows SDK에서 IAccessible::get_accSelection 참조 pvarChildren 하세요.

Return Value

성공에 대한 S_OK 반환하며 실패시 COM 오류 코드입니다. Windows SDK의 IAccessible::get_accSelection 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

권한이 없는 사용자 인터페이스 요소가 있는 경우(MFC가 CWnd처리하는 창 없는 ActiveX 컨트롤 제외) 파생 클래스에서 이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accSelection 하세요.

CWnd::get_accState

지정된 개체의 현재 상태를 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accState(
    VARIANT varChild,
    VARIANT* pvarState);

매개 변수

varChild
검색할 상태 정보가 개체의 상태 정보인지 아니면 개체의 자식 요소 중 하나인지를 지정합니다. 이 매개 변수는 CHILDID_SELF (개체에 대한 정보를 가져오기 위해) 또는 자식 ID(개체의 자식 요소에 대한 정보를 얻기 위해)일 수 있습니다.

pvarState
개체의 상태에 대한 정보를 받습니다. Windows SDK에서 IAccessible::get_accState 참조 pvarState 하세요.

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::get_accState 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

권한이 없는 사용자 인터페이스 요소가 있는 경우(MFC가 CWnd처리하는 창 없는 ActiveX 컨트롤 제외) 파생 클래스에서 이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accState 하세요.

CWnd::get_accValue

지정된 개체의 값을 검색하기 위해 프레임워크에서 호출됩니다.

virtual HRESULT get_accValue(
    VARIANT varChild,
    BSTR* pszValue);

매개 변수

varChild
검색할 값 정보가 개체의 값인지 아니면 개체의 자식 요소 중 하나인지를 지정합니다. 이 매개 변수는 CHILDID_SELF (개체에 대한 정보를 가져오기 위해) 또는 자식 ID(개체의 자식 요소에 대한 정보를 얻기 위해)일 수 있습니다.

pszValue
개체의 BSTR 현재 값을 포함하는 지역화된 문자열을 받는 주소입니다.

Return Value

성공, 실패에 대한 COM 오류 코드를 반환 S_OK 합니다. Windows SDK의 IAccessible::get_accValue 반환 값을 참조하세요.

설명

이 함수는 MFC의 활성 접근성 지원의 일부입니다.

권한이 없는 사용자 인터페이스 요소가 있는 경우(MFC가 CWnd처리하는 창 없는 ActiveX 컨트롤 제외) 파생 클래스에서 이 함수를 재정의합니다.

자세한 내용은 Windows SDK를 참조 IAccessible::get_accValue 하세요.

CWnd::GetActiveWindow

활성 창에 대한 포인터를 검색합니다.

static CWnd* PASCAL GetActiveWindow();

Return Value

활성 창이거나 NULL 호출 시 활성 창이 없는 경우 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

활성 창은 현재 입력 포커스가 있는 창이거나 멤버 함수에 의해 명시적으로 활성화된 SetActiveWindow 창입니다.

CWnd::GetAncestor

지정된 창의 상위 창 개체를 검색합니다.

CWnd* GetAncestor(UINT gaFlags) const;

매개 변수

gaFlags
검색할 상위 개체를 지정합니다. 가능한 값의 전체 목록은 다음을 참조하세요 GetAncestor.

Return Value

함수가 성공하면 반환 값은 상위 창 개체에 대한 포인터입니다. 함수가 실패하면 반환 값은 .입니다 NULL.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 GetAncestor의 기능을 에뮬레이트합니다.

CWnd::GetCapture

마우스 캡처가 있는 창을 검색합니다.

static CWnd* PASCAL GetCapture();

Return Value

마우스 캡처가 있는 창을 식별합니다. 마우스 캡처가 있는 창이 없는 경우입니다 NULL .

반환 값은 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

지정된 시간에 하나의 창에만 마우스 캡처가 있습니다. 멤버 함수가 호출될 때 창이 마우스 캡처를 SetCapture 받습니다. 이 창은 커서가 테두리 내에 있는지 여부에 관계없이 마우스 입력을 받습니다.

CWnd::GetCaretPos

caret의 현재 위치의 클라이언트 좌표를 검색하여 반환합니다 CPoint.

static CPoint PASCAL GetCaretPos();

Return Value

CPoint caret 위치의 좌표를 포함하는 개체입니다.

설명

창의 클라이언트 좌표에 캐리트 위치가 CWnd 지정됩니다.

CWnd::GetCheckedRadioButton

지정된 그룹에서 현재 검사 라디오 단추의 ID를 검색합니다.

int GetCheckedRadioButton(
    int nIDFirstButton,
    int nIDLastButton);

매개 변수

nIDFirstButton
그룹의 첫 번째 라디오 단추의 정수 식별자를 지정합니다.

nIDLastButton
그룹의 마지막 라디오 단추의 정수 식별자를 지정합니다.

Return Value

검사 라디오 단추의 ID이거나 선택되지 않은 경우 0입니다.

CWnd::GetClientRect

클라이언트 영역의 CWnd 클라이언트 좌표를 가리키는 구조 lpRect로 복사합니다.

void GetClientRect(LPRECT lpRect) const;

매개 변수

lpRect
RECT 클라이언트 좌표를 받을 구조체 또는 CRect 개체를 가리킵니다. 멤버는 lefttop 0입니다. 및 bottom 멤버는 right 창의 너비와 높이를 포함합니다.

설명

클라이언트 좌표는 클라이언트 영역의 왼쪽 위와 오른쪽 아래 모서리를 지정합니다. 클라이언트 좌표는 클라이언트 영역의 CWnd 왼쪽 위 모서리를 기준으로 하기 때문에 왼쪽 위 모서리의 좌표는 (0,0)입니다.

예시

에 대한 예제를 CWnd::IsIconic참조하세요.

CWnd::GetClipboardOwner

클립보드의 현재 소유자를 검색합니다.

static CWnd* PASCAL GetClipboardOwner();

Return Value

함수가 성공하면 클립보드를 소유하는 창을 식별합니다. 그렇지 않으면 NULL입니다.

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

클립보드는 현재 소유되지 않은 경우에도 데이터를 포함할 수 있습니다.

CWnd::GetClipboardViewer

클립보드 뷰어 체인의 첫 번째 창을 검색합니다.

static CWnd* PASCAL GetClipboardViewer();

Return Value

성공하면 현재 클립보드 표시를 담당하는 창을 식별합니다. 그렇지 않으면 NULL (예: 뷰어가 없는 경우)

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

CWnd::GetControlUnknown

이 멤버 함수를 호출하여 알 수 없는 OLE 컨트롤에 대한 포인터를 검색합니다.

LPUNKNOWN GetControlUnknown();

Return Value

CWnd 개체가 IUnknown 나타내는 OLE 컨트롤의 인터페이스에 대한 포인터입니다. 이 개체가 OLE 컨트롤을 나타내지 않으면 반환 값은 .입니다 NULL.

설명

IUnknown 포인터를 해제하면 안 됩니다. 일반적으로 컨트롤의 특정 인터페이스를 가져오는 데 사용합니다.

반환된 GetControlUnknown 인터페이스 포인터는 참조로 계산되지 않습니다. 이전에 포인터를 호출하지 않는 한 포인터를 호출 IUnknown::ReleaseIUnknown::AddRef 하지 마세요.

예시

// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is a CDialog-derived class.

// IDC_MSACALCTRL1 is the ID of the Calendar control OCX embedded
// on this dialog
CWnd *pWndCal = GetDlgItem(IDC_MSACALCTRL1);

// Use the IUnknown of the control
LPUNKNOWN pUnk = pWndCal->GetControlUnknown();

// From there get the IDispatch interface of control
LPDISPATCH pDisp = NULL;
pUnk->QueryInterface(IID_IDispatch, (LPVOID*)&pDisp);

// use IDispatch method to invoke the control's functionality

CWnd::GetCurrentMessage

이 창에서 현재 처리 중인 메시지에 대한 포인터를 반환합니다. OnMessage 메시지 처리기 멤버 함수에 있는 경우에만 호출해야 합니다.

static const MSG* PASCAL GetCurrentMessage();

Return Value

창이 MSG 현재 처리 중인 메시지를 포함하는 구조체에 대한 포인터를 반환합니다. OnMessage 처리기에서만 호출해야 합니다.

예시

에 대한 예제를 CMDIFrameWnd::MDICascade참조하세요.

CWnd::GetDC

에 지정된 클래스 스타일에 따라 클라이언트 영역에 대한 공통, 클래스 또는 개인 디바이스 컨텍스트에 대한 포인터를 CWnd검색합니다.

CDC* GetDC();

Return Value

성공하면 클라이언트 영역에 대한 디바이스 컨텍스트를 CWnd 식별합니다. 그렇지 않으면 반환 값이 됩니다 NULL. 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

일반적인 디바이스 컨텍스트의 GetDC 경우 검색될 때마다 컨텍스트에 기본 특성을 할당합니다. 클래스 및 프라이빗 컨텍스트의 GetDC 경우 이전에 할당된 특성은 변경되지 않은 상태로 둡니다. 디바이스 컨텍스트는 후속 GDI(그래픽 디바이스 인터페이스) 함수에서 클라이언트 영역에 그리는 데 사용할 수 있습니다.

디바이스 컨텍스트가 창 클래스에 속하지 않는 한 그리 ReleaseDC 기 후 컨텍스트를 해제하려면 멤버 함수를 호출해야 합니다.

클래스에 CWnd 속하는 디바이스 컨텍스트는 클래스가 등록되었을 때 구조체에서 스타일로 지정된 경우 CS_PARENTDCCS_CLASSDCCS_OWNDC멤버 함수에 WNDCLASS 의해 GetDC 반환됩니다.

CWnd::GetDCEx

창에 대한 디바이스 컨텍스트의 핸들을 검색합니다 CWnd .

CDC* GetDCEx(
    CRgn* prgnClip,
    DWORD flags);

매개 변수

prgnClip
클라이언트 창의 표시되는 영역과 결합될 수 있는 클리핑 영역을 식별합니다.

flags
다음 미리 설정된 값 중 하나를 사용할 수 있습니다.

  • DCX_CACHE또는 CLASSDC 창이 아닌 캐시에서 디바이스 컨텍스트를 OWNDC 반환합니다. CS_OWNDCCS_CLASSDC를 재정의합니다.

  • DCX_CLIPCHILDREN 창 아래에 있는 모든 자식 창의 표시되는 영역을 제외합니다 CWnd .

  • DCX_CLIPSIBLINGS 창 위에 있는 모든 형제 창의 표시되는 영역을 제외합니다 CWnd .

  • DCX_EXCLUDERGN 반환된 디바이스 컨텍스트의 표시되는 영역에서 식별되는 prgnClip 클리핑 영역을 제외합니다.

  • DCX_INTERSECTRGN 반환된 디바이스 컨텍스트의 표시되는 영역 내에서 식별되는 prgnClip 클리핑 영역을 교차합니다.

  • DCX_LOCKWINDOWUPDATE 이 창을 제외하는 호출이 LockWindowUpdate 적용된 경우에도 그리기를 허용합니다. 이 값은 추적 중에 그리기에 사용됩니다.

  • DCX_PARENTCLIP 부모 창의 표시되는 영역을 사용하고 부모 창 WS_CLIPCHILDRENWS_PARENTDC 스타일 비트를 무시합니다. 이 값은 디바이스 컨텍스트의 원본을 창의 왼쪽 위 모서리로 CWnd 설정합니다.

  • DCX_WINDOW 클라이언트 사각형이 아닌 창 사각형에 해당하는 디바이스 컨텍스트를 반환합니다.

Return Value

함수가 성공하면 지정된 창의 디바이스 컨텍스트입니다. 그렇지 않으면 NULL.

설명

디바이스 컨텍스트는 후속 GDI 함수에서 클라이언트 영역에 그리는 데 사용할 수 있습니다.

함수의 확장 GetDC 인 이 함수는 애플리케이션이 창의 디바이스 컨텍스트가 잘려지는 방법과 여부를 보다 잘릴 수 있도록 합니다.

디바이스 컨텍스트가 창 클래스에 속하지 않는 한 그리 ReleaseDC 기 후 컨텍스트를 해제하기 위해 함수를 호출해야 합니다. 지정된 시간에 5개의 공통 디바이스 컨텍스트만 사용할 수 있으므로 디바이스 컨텍스트를 해제하지 않으면 다른 애플리케이션이 디바이스 컨텍스트에 액세스하지 못할 수 있습니다.

캐시된 디바이스 컨텍스트를 가져오려면 애플리케이션에서 지정 DCX_CACHE해야 합니다. DCX_CACHE 지정되지 않았고 창도 아니고 이 함수는 CS_OWNDCCS_CLASSDC반환합니다 NULL.

클래스가 등록되었을 때 구조체에 스타일 또는 CS_PARENTDC 스타일을 지정한 경우 CS_CLASSDCCS_OWNDC특수한 특성을 가진 디바이스 컨텍스트가 함수에 WNDCLASS 의해 GetDCEx 반환됩니다.

이러한 특성에 대한 자세한 내용은 Windows SDK의 WNDCLASS 구조에 대한 설명을 참조하세요.

CWnd::GetDCRenderTarget

CWnd 창에 대한 DC(디바이스 컨텍스트) 렌더링 대상을 검색합니다.

CDCRenderTarget* GetDCRenderTarget();

Return Value

함수가 성공하면 지정된 창에 대한 디바이스 컨텍스트 렌더링 대상입니다. 그렇지 않으면 NULL.

설명

CWnd::GetDescendantWindow

이 멤버 함수를 호출하여 지정된 ID로 지정된 하위 창을 찾습니다.

CWnd* GetDescendantWindow(
    int nID,
    BOOL bOnlyPerm = FALSE) const;

매개 변수

nID
검색할 컨트롤 또는 자식 창의 식별자를 지정합니다.

bOnlyPerm
반환할 창이 임시일 수 있는지 여부를 지정합니다. 영구 창만 반환할 수 있는 경우 TRUEFALSE함수는 임시 창을 반환할 수 있습니다. 임시 창에 대한 자세한 내용은 Technical Note 3을 참조하세요.

Return Value

개체에 대한 CWnd 포인터이거나 NULL 자식 창을 찾을 수 없는 경우

설명

이 멤버 함수는 직계 자식인 창뿐만 아니라 자식 창의 전체 트리를 검색합니다.

CWnd::GetDesktopWindow

Windows 데스크톱 창을 반환합니다.

static CWnd* PASCAL GetDesktopWindow();

Return Value

Windows 데스크톱 창을 식별합니다. 이 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

바탕 화면 창은 전체 화면을 덮고 모든 아이콘 및 기타 창이 그려지는 위쪽 영역입니다.

CWnd::GetDlgCtrlID

대화 상자에서 컨트롤의 창이나 자식 창의 컨트롤 ID 값을 반환합니다.

int GetDlgCtrlID() const;

Return Value

함수가 성공하면 자식 창의 CWnd 숫자 식별자이고, 그렇지 않으면 0입니다.

설명

최상위 창에는 ID 값이 없으므로 최상위 창인 경우 CWnd 이 함수의 반환 값이 유효하지 않습니다.

예시

에 대한 예제를 CWnd::OnCtlColor참조하세요.

CWnd::GetDlgItem

대화 상자 또는 다른 창에서 지정된 컨트롤 또는 자식 창에 대한 포인터를 검색합니다.

CWnd* GetDlgItem(int nID) const;

void GetDlgItem(
    int nID,
    HWND* phWnd) const;

매개 변수

nID
검색할 컨트롤 또는 자식 창의 식별자를 지정합니다.

phWnd
자식 창에 대한 포인터입니다.

Return Value

지정된 컨트롤 또는 자식 창에 대한 포인터입니다. 매개 변수에서 지정한 정수 ID를 가진 컨트롤이 nID 없으면 값은 .입니다 NULL.

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

반환되는 포인터는 일반적으로 로 식별되는 컨트롤 형식으로 nID캐스팅됩니다.

예시

// uses GetDlgItem to return a pointer to a user interface control
CEdit *pBoxOne;
pBoxOne = (CEdit*)GetDlgItem(IDC_MYEDIT);
GotoDlgCtrl(pBoxOne);

CWnd::GetDlgItemInt

로 식별되는 nID컨트롤의 텍스트를 검색합니다.

UINT GetDlgItemInt(
    int nID,
    BOOL* lpTrans = NULL,
    BOOL bSigned = TRUE) const;

매개 변수

nID
변환할 대화 상자 컨트롤의 정수 식별자를 지정합니다.

lpTrans
번역된 플래그를 받을 부울 변수를 가리킵니다.

bSigned
검색할 값이 서명되었는지 여부를 지정합니다.

Return Value

대화 상자 항목 텍스트의 변환된 값을 지정합니다. 0은 유효한 반환 값 lpTrans 이므로 오류를 검색하는 데 사용해야 합니다. 서명된 반환 값이 필요한 경우 형식으로 int 캐스팅합니다.

변환된 숫자가 부호 있는 숫자보다 INT_MAX 크거나 UINT_MAX (부호 없는 경우) 0을 반환합니다.

숫자가 아닌 문자가 발생하고 위의 최대 GetDlgItemInt 값을 초과하는 등의 오류가 발생하면 0을 가리키는 lpTrans위치에 복사합니다. 오류가 lpTrans 없으면 0이 아닌 값을 받습니다. 이 NULLGetDlgItemInt 경우 lpTrans 오류에 대해 경고하지 않습니다.

설명

텍스트의 시작 부분에 있는 공백을 제거하고 10진수를 변환하여 지정된 대화 상자에서 지정된 컨트롤의 텍스트를 정수 값으로 변환합니다. 텍스트 끝에 도달하거나 숫자가 아닌 문자를 발견하면 번역을 중지합니다.

TRUEGetDlgItemInt 경우 bSigned 텍스트의 시작 부분에 빼기 기호(-)를 검사 텍스트를 부호로 변환합니다. 그렇지 않으면 부호 없는 값을 만듭니다.

컨트롤에 WM_GETTEXT 메시지를 보냅니다.

CWnd::GetDlgItemText

이 멤버 함수를 호출하여 대화 상자에서 컨트롤과 연결된 제목 또는 텍스트를 검색합니다.

int GetDlgItemText(
    int nID,
    LPTSTR lpStr,
    int nMaxCount) const;

int GetDlgItemText(
    int nID,
    CString& rString) const;

매개 변수

nID
제목을 검색할 컨트롤의 정수 식별자를 지정합니다.

lpStr
컨트롤의 제목 또는 텍스트를 받을 버퍼를 가리킵니다.

nMaxCount
복사할 문자열의 최대 길이(문자 단위)를 lpStr지정합니다. 문자열이 보다 nMaxCount긴 경우 잘립니다.

rString
에 대 한 참조를 CString입니다.

Return Value

종료 null 문자를 포함하지 않고 버퍼에 복사된 실제 문자 수를 지정합니다. 텍스트가 복사되지 않은 경우 값은 0입니다.

설명

멤버 함수는 GetDlgItemText 텍스트를 가리키는 lpStr 위치에 복사하고 복사하는 바이트 수를 반환합니다.

CWnd::GetDSCCursor

이 멤버 함수를 호출하여 데이터 소스 컨트롤의 , UserNamePassword및 SQL 속성에 의해 DataSource정의된 기본 커서에 대한 포인터를 검색합니다.

IUnknown* GetDSCCursor();

Return Value

데이터 소스 컨트롤에 의해 정의된 커서에 대한 포인터입니다. MFC는 포인터 호출 AddRef 을 처리합니다.

설명

반환된 포인터를 사용하여 데이터 바인딩된 그리드 컨트롤과 같은 복잡한 데이터 바인딩된 컨트롤의 속성을 설정합니다 ICursor . 데이터 소스 컨트롤은 첫 번째 바인딩된 컨트롤이 커서를 요청할 때까지 활성화되지 않습니다. 이는 MFC 바인딩 관리자에 GetDSCCursor 대한 호출을 통해 명시적으로 또는 암시적으로 발생할 수 있습니다. 두 경우 모두 반환된 포인터를 호출 GetDSCCursorRelease 하여 데이터 원본 제어가 활성화되도록 할 수 있습니다 IUnknown. 활성화하면 데이터 소스 제어가 기본 데이터 원본에 연결을 시도합니다. 반환된 포인터는 다음 컨텍스트에서 사용할 수 있습니다.

예시

BOOL CMyDlg::OnInitDialog()
{
   // Find the child controls on the dialog
   HRESULT hr = E_FAIL;
   CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
   CWnd *pListWnd = GetDlgItem(IDC_DBLIST1);
   IUnknown *punkList = pListWnd->GetControlUnknown();
   IDBList *pList = NULL;

   if (NULL != punkList)
   {
      hr = punkList->QueryInterface(__uuidof(IDBList), (void **)&pList);
   }

   if (SUCCEEDED(hr))
   {
      // Tell the MFC binding manager that we are
      // binding DISPID 3 to the data-source control.
      pListWnd->BindProperty(0x3, pDSC);

      // Tell the listbox which field to expose as its bound column
      pList->put_BoundColumn(_T("ContactFirstName"));

      // Tell the listbox which cursor and column to populate its list from
      pList->put_ListField(_T("ContactFirstName"));

      IUnknown *punkCursor = pDSC->GetDSCCursor();
      if (NULL != punkCursor)
      {
         punkCursor->Release();
      }

      pList->Release();
      return TRUE;
   }

CWnd::GetDynamicLayout

동적 레이아웃 관리자 개체에 대한 포인터를 검색합니다.

CMFCDynamicLayout* GetDynamicLayout();

Return Value

동적 레이아웃 관리자 개체에 대한 포인터이거나 NULL 동적 레이아웃을 사용할 수 없는 경우

설명

창 개체는 반환된 포인터의 수명을 소유하고 관리하므로 개체에 액세스할 때만 사용해야 합니다. 포인터를 삭제하거나 포인터를 영구적으로 저장하지 마세요.

CWnd::GetExStyle

창의 확장된 스타일을 반환합니다.

DWORD GetExStyle() const;

Return Value

창의 확장 스타일입니다. MFC에 사용되는 확장 창 스타일에 대한 자세한 내용은 확장 창 스타일을 참조 하세요.

CWnd::GetFocus

현재 입력 포커스가 있는 CWnd 포인터를 검색합니다.

static CWnd* PASCAL GetFocus();

Return Value

현재 포커스가 있거나 포커스 NULL 창이 없는 창에 대한 포인터입니다.

포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

CWnd::GetFont

창에 WM_GETFONT 메시지를 보내 현재 글꼴을 검색합니다.

CFont* GetFont() const;

Return Value

창의 CFont 현재 글꼴에 연결된 개체에 대한 포인터입니다.

설명

창에서 메시지를 처리하지 않는 한 이 메서드는 WM_GETFONT 효과가 없습니다. 메시지에 대한 WM_GETFONT 메시지 처리기가 포함된 미리 정의된 창 클래스에 연결되기 때문에 이 메시지 처리에서 CWnd 파생되는 많은 MFC 클래스입니다. 이 메서드를 사용하려면 파생되는 클래스가 CWnd 메시지에 대한 WM_GETFONT 메서드 처리기를 정의해야 합니다.

CWnd::GetForegroundWindow

포그라운드 창(사용자가 현재 작업 중인 창)에 대한 포인터를 반환합니다.

static CWnd* PASCAL GetForegroundWindow();

Return Value

포그라운드 창에 대한 포인터입니다. 임시 CWnd 개체일 수 있습니다.

설명

전경 창은 최상위 창(프레임 창 또는 대화 상자)에만 적용됩니다.

CWnd::GetIcon

이 멤버 함수를 호출하여 표시된 대로 bBigIcon큰(32x32) 또는 작은(16x16) 아이콘으로 핸들을 가져옵니다.

HICON GetIcon(BOOL bBigIcon) const;

매개 변수

bBigIcon
이면 TRUE32픽셀 x 32픽셀 아이콘을 지정하고, 16픽셀 x 16픽셀 아이콘을 지정합니다 FALSE.

Return Value

아이콘에 대한 핸들입니다. 실패하면 .를 반환합니다 NULL.

CWnd::GetLastActivePopup

CWnd가 소유한 팝업 창이 가장 최근에 활성화되었는지 확인합니다.

CWnd* GetLastActivePopup() const;

Return Value

가장 최근에 활성화된 팝업 창을 식별합니다. 다음 조건이 충족되는 경우 반환 값은 창 자체가 됩니다.

  • 창 자체가 가장 최근에 활성화되었습니다.

  • 창에는 팝업 창이 없습니다.

  • 창이 최상위 창이 아니거나 다른 창이 소유합니다.

포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

예시

에 대한 예제를 CWnd::FindWindow참조하세요.

CWnd::GetLayeredWindowAttributes

계층적 창의 불투명도 및 투명도 색상 키를 검색합니다.

BOOL GetLayeredWindowAttributes(
    COLORREF* pcrKey,
    BYTE* pbAlpha,
    DWORD* pdwFlags) const;

매개 변수

pcrKey
계층화된 창을 작성할 COLORREF 때 사용할 투명도 색 키를 받는 값에 대한 포인터입니다. 이 색의 창에서 그린 모든 픽셀은 투명합니다. 인수가 필요하지 않은 경우일 NULL 수 있습니다.

pbAlpha
BYTE 계층화된 창의 불투명도를 설명하는 데 사용되는 알파 값을 받는 포인터입니다. 참조 pbAlpha 하는 변수가 0이면 창이 완전히 투명합니다. 참조 pbAlpha 하는 변수가 255이면 창이 불투명합니다. 인수가 필요하지 않은 경우일 NULL 수 있습니다.

pdwFlags
계층화 플래그를 DWORD 수신하는 포인터입니다. 인수가 필요하지 않은 경우일 NULL 수 있습니다. 가능한 값의 전체 목록은 'GetLayeredWindowAttributes'를 참조 하세요.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 GetLayeredWindowAttributes의 기능을 에뮬레이트합니다.

CWnd::GetMenu

이 창의 메뉴에 대한 포인터를 검색합니다.

CMenu* GetMenu() const;

Return Value

메뉴를 식별합니다. 메뉴가 없는 경우 CWnd 값입니다NULL. 자식 창이면 CWnd 반환 값이 정의되지 않습니다.

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

이 함수는 메뉴가 없으므로 자식 창에 사용하면 안 됩니다.

예시

void CMainFrame::OnCwndDeletefilemenu()
{
   // This example deletes the leftmost popup menu or leftmost
   // popup menu item from the application's main window.
   CWnd *pMain = AfxGetMainWnd();

   // The main window _can_ be NULL, so this code
   // doesn't ASSERT and actually tests.
   if (pMain != NULL)
   {
      // Get the main window's menu
      CMenu *pMenu = pMain->GetMenu();

      // If there is a menu and it has items, we'll
      // delete the first one.
      if (pMenu != NULL && pMenu->GetMenuItemCount() > 0)
      {
         pMenu->DeleteMenu(0, MF_BYPOSITION);
         // force a redraw of the menu bar
         pMain->DrawMenuBar();
      }

      // No need to delete pMenu because it is an MFC
      // temporary object.
   }
}

CWnd::GetMenuBarInfo

지정된 메뉴 모음에 대한 정보를 검색합니다.

BOOL GetMenuBarInfo(
    LONG idObject,
    LONG idItem,
    PMENUBARINFO pmbi) const;

매개 변수

idObject
메뉴 개체를 지정합니다. 가능한 값 목록은 다음을 참조하세요 GetMenuBarInfo.

idItem
정보를 검색할 항목을 지정합니다. 이 매개 변수가 0이면 함수는 메뉴 자체에 대한 정보를 검색합니다. 이 매개 변수가 1이면 함수는 메뉴의 첫 번째 항목에 대한 정보를 검색합니다.

pmbi
MENUBARINFO 정보를 받는 구조체에 대한 포인터입니다.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 GetMenuBarInfo의 기능을 에뮬레이트합니다.

CWnd::GetNextDlgGroupItem

대화 상자의 컨트롤 그룹 내에서 이전 또는 다음 컨트롤을 검색합니다.

CWnd* GetNextDlgGroupItem(
    CWnd* pWndCtl,
    BOOL bPrevious = FALSE) const;

COleControlSiteOrWnd* GetNextDlgGroupItem(
    COleControlSiteOrWnd* pCurSiteOrWnd = NULL) const;

매개 변수

pWndCtl
검색의 시작점으로 사용할 컨트롤을 식별합니다.

bPrevious
함수가 대화 상자에서 컨트롤 그룹을 검색하는 방법을 지정합니다. 이 경우 TRUE함수는 그룹의 이전 컨트롤을 검색합니다. 이 경우 FALSE그룹에서 다음 컨트롤을 검색합니다.

pCurSiteOrWnd
컨트롤을 COleControlSiteOrWnd 식별합니다. 자세한 COleControlSiteOrWnd내용은 비고를 참조 하세요.

Return Value

멤버 함수가 성공한 경우 그룹의 이전 또는 다음 컨트롤에 대한 포인터입니다.

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

컨트롤 그룹은 스타일로 만든 컨트롤로 시작하고 스타일로 WS_GROUP 생성되지 않은 마지막 컨트롤로 WS_GROUP 끝납니다.

기본적으로 멤버 함수는 GetNextDlgGroupItem 그룹의 다음 컨트롤에 대한 포인터를 반환합니다. 그룹의 첫 번째 컨트롤을 식별하고 있는 TRUEGetNextDlgGroupItem 경우 pWndCtl 그룹의 bPrevious 마지막 컨트롤에 대한 포인터를 반환합니다.

참고 항목

MFC는 창 없는 ActiveX 컨트롤, 표준 ActiveX 컨트롤 및 창을 지원하므로 더 이상 충분하지 않은 컨트롤만 HWND 참조합니다. 개체에는 COleControlSiteOrWnd 다음과 같이 개체를 창이 있는 ActiveX 컨트롤, 창 없는 ActiveX 컨트롤 또는 창으로 식별하는 정보가 포함됩니다.

컨트롤 또는 창 유형 정보 식별
창이 있는 ActiveX 컨트롤 HWND COleControlSite 개체를 포함하고 COleControlSite 개체와 연결합니다. 멤버 COleControlSiteOrWndm_hWnd 컨트롤의 HWND 멤버로 설정되고 멤버는 m_pSite 컨트롤을 COleControlSite가리킵니다.
창 없는 ActiveX 컨트롤 을 포함하지 않습니다 HWND. m_pSite 컨트롤COleControlSiteCOleControlSiteOrWnd 가리키는 멤버이며 멤버는 m_hWnd .입니다NULL.
표준 창 에만 HWND포함됩니다. 멤버는 m_hWnd 창의 HWND로 설정되고 멤버는 m_pSite 다음과 같습니다NULL.COleControlSiteOrWnd

CWnd::GetNextDlgTabItem

스타일을 사용하여 만든 첫 번째 컨트롤에 대한 포인터를 WS_TABSTOP 검색하고 지정된 컨트롤 앞에 있거나 뒤에 오는 포인터를 검색합니다.

CWnd* GetNextDlgTabItem(
    CWnd* pWndCtl,
    BOOL bPrevious = FALSE) const;

COleControlSiteOrWnd* GetNextDlgTabItem(
    COleControlSiteOrWnd* pCurSiteOrWnd,
    BOOL bPrevious) const;

매개 변수

pWndCtl
검색의 시작점으로 사용할 컨트롤을 식별합니다.

pCurSiteOrWnd
컨트롤을 COleControlSiteOrWnd 식별합니다. COleControlSiteOrWnd에 대한 자세한 내용은 CWnd::GetNextDlgGroupItem을 참조하세요.

bPrevious
함수가 대화 상자를 검색하는 방법을 지정합니다. 이 경우 TRUE함수는 대화 상자에서 이전 컨트롤을 검색합니다. 이 경우 FALSE다음 컨트롤을 검색합니다.

Return Value

멤버 함수가 성공한 경우 스타일이 있는 WS_TABSTOP 이전 또는 다음 컨트롤에 대한 포인터입니다.

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

COleControlSiteOrWnd에 대한 자세한 내용은 CWnd::GetNextDlgGroupItem을 참조하세요.

CWnd::GetNextWindow

창 관리자 목록에서 다음(또는 이전) 창을 검색합니다.

CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;

매개 변수

nFlag
함수가 다음 창 또는 이전 창에 대한 포인터를 반환할지 여부를 지정합니다. 창 관리자 목록의 개체 뒤에 CWnd 있는 창을 반환하거나 GW_HWNDPREV창 관리자 목록의 이전 창을 반환하는 창일 수 GW_HWNDNEXT있습니다.

Return Value

멤버 함수가 성공하면 창 관리자 목록에서 다음(또는 이전) 창을 식별합니다.

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

창 관리자 목록에는 모든 최상위 창, 연결된 자식 창 및 모든 자식 창의 자식 창에 대한 항목이 포함됩니다.

최상위 창인 경우 CWnd 함수는 다음(또는 이전) 최상위 창을 검색합니다. 자식 창인 경우 CWnd 함수는 다음(또는 이전) 자식 창을 검색합니다.

CWnd::GetOleControlSite

지정된 ActiveX 컨트롤에 대한 사용자 지정 사이트를 검색합니다.

COleControlSite* GetOleControlSite(UINT idControl) const;

매개 변수

idControl
ActiveX 컨트롤의 ID입니다.

CWnd::GetOpenClipboardWindow

현재 클립보드가 열려 있는 창의 핸들을 검색합니다.

static CWnd* PASCAL GetOpenClipboardWindow();

Return Value

함수가 성공하면 현재 클립보드가 열려 있는 창의 핸들입니다. 그렇지 않으면 NULL.

CWnd::GetOwner

창의 소유자에 대한 포인터를 검색합니다.

CWnd* GetOwner() const;

Return Value

CWnd 개체에 대한 포인터입니다.

설명

창에 소유자가 없으면 부모 창 개체에 대한 포인터가 기본적으로 반환됩니다. 소유자와 소유된 소유자 간의 관계는 몇 가지 중요한 측면에서 부모-자식 측면과 다릅니다. 예를 들어 부모가 있는 창은 부모 창의 클라이언트 영역으로 제한됩니다. 소유 창은 바탕 화면의 모든 위치에서 그릴 수 있습니다.

이 함수의 소유권 개념은 .의 GetWindow소유권 개념과 다릅니다.

CWnd::GetParent

이 함수를 호출하여 자식 창의 부모 창(있는 경우)에 대한 포인터를 가져옵니다.

CWnd* GetParent() const;

Return Value

Windows SDK의 GetParent 반환 값 섹션을 참조하세요.

설명

함수는 GetParent 직접 부모에 대한 포인터를 반환합니다(있는 경우). 반면, 함수는 GetParentOwner 자식 창이 아닌 가장 직설적인 부모 또는 소유자 창에 대한 포인터를 반환합니다(스타일이 WS_CHILD 없음). 자식 창 내에 자식 창 GetParent 이 있고 GetParentOwner 다른 결과를 반환하는 경우

CWnd::GetParentFrame

이 멤버 함수를 호출하여 부모 프레임 창을 검색합니다.

CFrameWnd* GetParentFrame() const;

Return Value

성공하면 프레임 창에 대한 포인터입니다. 그렇지 않으면 NULL.

설명

멤버 함수는 (또는 파생 클래스) 개체가 CFrameWnd 발견될 때까지 부모 체인을 검색합니다.

CWnd::GetParentOwner

이 멤버 함수를 호출하여 자식 창의 부모 창 또는 소유자 창에 대한 포인터를 가져옵니다.

CWnd* GetParentOwner() const;

Return Value

CWnd 개체에 대한 포인터입니다. 개체가 CWnd 핸들에 연결되지 않은 경우 임시 CWnd 개체가 만들어지고 연결됩니다. 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

GetParentOwner 는 자식 창이 아닌 가장 직위적인 부모 또는 소유자 창에 대한 포인터를 반환합니다(스타일이 WS_CHILD 없음). 현재 소유자 창은 .로 SetOwner설정할 수 있습니다. 기본적으로 창의 부모는 해당 소유자입니다.

반면, 함수는 GetParent 자식 창인지 여부에 관계없이 직접 부모에 대한 포인터를 반환합니다. 자식 창 내에 자식 창 GetParent 이 있고 GetParentOwner 다른 결과를 반환하는 경우

CWnd::GetProperty

이 멤버 함수를 호출하여 에 지정된 dwDispIDActiveX 컨트롤 속성을 가져옵니다.

void GetProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    void* pvProp)const;

매개 변수

dwDispID
검색할 속성을 식별합니다.

vtProp
검색할 속성의 형식을 지정합니다. 가능한 값은 에 대한 설명 섹션을 COleDispatchDriver::InvokeHelper참조하세요.

pvProp
속성 값을 받을 변수의 주소입니다. vtProp를 통해 지정된 형식과 일치해야 합니다.

설명

GetProperty 를 통해 pvProp값을 반환합니다.

참고 항목

이 함수는 ActiveX 컨트롤을 CWnd 나타내는 개체에서만 호출되어야 합니다.

ActiveX 컨트롤 컨테이너에서 이 멤버 함수를 사용하는 방법에 대한 자세한 내용은 ActiveX 컨트롤 컨테이너: ActiveX 컨트롤 컨테이너에서 ActiveX 컨트롤 프로그래밍 문서를 참조하세요.

CWnd::GetRenderTarget

이 창에 연결된 렌더링 대상을 가져옵니다.

CHwndRenderTarget* GetRenderTarget();

Return Value

렌더링 대상에 대한 포인터 또는 NULL.

CWnd::GetSafeHwnd

NULL 또는 포인터가 .인 this 경우를 반환m_hWnd합니다NULL.

HWND GetSafeHwnd() const;

Return Value

창의 창 핸들을 반환합니다. 창에 연결되지 않았거나 포인터와 함께 사용되는지 여부를 반환 NULL 합니다NULLCWnd.CWnd

예시

에 대한 예제를 CWnd::SubclassWindow참조하세요.

CWnd::GetSafeOwner

이 멤버 함수를 호출하여 대화 상자 또는 다른 모달 창에 사용해야 하는 소유자 창을 검색합니다.

static CWnd* GetSafeOwner(
    CWnd* pParent = NULL,
    HWND* pWndTop = NULL);

매개 변수

pParent
부모 CWnd 창에 대한 포인터입니다. NULL일 수 있습니다.

pWndTop
현재 맨 위에 있는 창에 대한 포인터입니다. NULL일 수 있습니다.

Return Value

지정된 창의 안전한 소유자에 대한 포인터입니다.

설명

안전한 소유자는 자식이 아닌 첫 번째 부모 창입니다 pParent. 이 NULL경우 pParent 스레드의 기본 창(통해 AfxGetMainWnd검색됨)을 사용하여 소유자를 찾습니다.

참고 항목

프레임워크 자체는 이 함수를 사용하여 소유자가 지정되지 않은 대화 상자 및 속성 시트에 대한 올바른 소유자 창을 결정합니다.

CWnd::GetScrollBarCtrl

이 멤버 함수를 호출하여 지정된 형제 스크롤 막대 또는 분할자 창에 대한 포인터를 가져옵니다.

virtual CScrollBar* GetScrollBarCtrl(int nBar) const;

매개 변수

nBar
스크롤 막대의 형식을 지정합니다. 매개 변수는 다음 값 중 하나를 사용할 수 있습니다.

  • SB_HORZ 가로 스크롤 막대의 위치를 검색합니다.

  • SB_VERT 세로 스크롤 막대의 위치를 검색합니다.

Return Value

형제 스크롤 막대 컨트롤이거나 NULL 없는 경우

설명

이 멤버 함수는 창을 만드는 동안 비트가 WS_VSCROLL 설정되면 생성된 WS_HSCROLL 스크롤 막대에서 작동하지 않습니다. 이 함수의 구현은 CWnd 단순히 반환합니다 NULL. 같은 파생 클래스는 CView설명된 기능을 구현합니다.

CWnd::GetScrollBarInfo

지정한 스크롤 막대에 대한 정보를 검색합니다.

BOOL GetScrollBarInfo(
    LONG idObject,
    PSCROLLBARINFO psbi) const;

매개 변수

idObject
메뉴 개체를 지정합니다. 가능한 값 목록은 다음을 참조하세요 GetScrollBarInfo.

psbi
SCROLLBARINFO 정보를 받는 구조체에 대한 포인터입니다.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 GetScrollBarInfo의 기능을 에뮬레이트합니다.

CWnd::GetScrollInfo

이 멤버 함수를 호출하여 구조체가 스크롤 막대에 SCROLLINFO 대해 기본 정보를 검색합니다.

BOOL GetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    UINT nMask = SIF_ALL);

매개 변수

nBar
스크롤 막대가 컨트롤인지 아니면 창의 비클라이언트 영역의 일부인지를 지정합니다. 비클라이언트 영역의 일부인 경우 스크롤 막대가 가로, nBar 세로 또는 둘 다에 배치되는지 여부도 나타냅니다. 다음 중 하나여야 합니다.

  • SB_CTL 스크롤 막대 컨트롤의 매개 변수를 검색합니다. 데이터 멤버는 m_hWnd 스크롤 막대 컨트롤의 핸들이어야 합니다.

  • SB_HORZ 창의 표준 가로 스크롤 막대에 대한 매개 변수를 검색합니다.

  • SB_VERT 창의 표준 세로 스크롤 막대에 대한 매개 변수를 검색합니다.

lpScrollInfo
구조체에 대한 포인터입니다 SCROLLINFO . 이 구조에 대한 자세한 내용은 Windows SDK를 참조하세요.

nMask
검색할 스크롤 막대 매개 변수를 지정합니다. 기본값은 , SIF_POSSIF_TRACKPOS, 및 SIF_RANGE.의 SIF_PAGE조합을 지정합니다. 값에 nMask 대한 자세한 내용은 참조 SCROLLINFO 하세요.

Return Value

메시지가 값을 검색한 경우 반환은 .입니다 TRUE. 그렇지 않으면 FALSE입니다.

설명

GetScrollInfo 를 사용하면 애플리케이션에서 32비트 스크롤 위치를 사용할 수 있습니다.

구조체에는 SCROLLINFO 최소 및 최대 스크롤 위치, 페이지 크기 및 스크롤 상자의 위치(엄지 손가락)를 포함하여 스크롤 막대에 대한 정보가 포함됩니다. SCROLLINFO 구조 기본값 변경에 대한 자세한 내용은 Windows SDK의 구조 항목을 참조하세요.

스크롤 막대 위치 CWnd::OnHScroll 및 CWnd::OnVScroll을 나타내는 MFC Windows 메시지 처리기는 16비트 위치 데이터만 제공합니다. GetScrollInfoSetScrollInfo 32비트 스크롤 막대 위치 데이터를 제공합니다. 따라서 애플리케이션은 처리하는 CWnd::OnHScroll 동안 호출 GetScrollInfo 하거나 CWnd::OnVScroll 32비트 스크롤 막대 위치 데이터를 가져올 수 있습니다.

CWnd::GetScrollLimit

이 멤버 함수를 호출하여 스크롤 막대의 최대 스크롤 위치를 검색합니다.

int GetScrollLimit(int nBar);

매개 변수

nBar
스크롤 막대의 형식을 지정합니다. 매개 변수는 다음 값 중 하나를 사용할 수 있습니다.

  • SB_HORZ 가로 스크롤 막대의 스크롤 제한을 검색합니다.

  • SB_VERT 세로 스크롤 막대의 스크롤 제한을 검색합니다.

Return Value

성공하면 스크롤 막대의 최대 위치를 지정합니다. 그렇지 않으면 0입니다.

CWnd::GetScrollPos

스크롤 막대의 스크롤 상자의 현재 위치를 검색합니다.

int GetScrollPos(int nBar) const;

매개 변수

nBar
검사할 스크롤 막대를 지정합니다. 매개 변수는 다음 값 중 하나를 사용할 수 있습니다.

  • SB_HORZ 가로 스크롤 막대의 위치를 검색합니다.

  • SB_VERT 세로 스크롤 막대의 위치를 검색합니다.

Return Value

성공하면 스크롤 막대에서 스크롤 상자의 현재 위치를 지정합니다. 그렇지 않으면 0입니다.

설명

현재 위치는 현재 스크롤 범위에 따라 달라지는 상대 값입니다. 예를 들어 스크롤 범위가 50에서 100이고 스크롤 상자가 막대 중간에 있는 경우 현재 위치는 75입니다.

CWnd::GetScrollRange

지정된 스크롤 막대의 현재 최소 및 최대 스크롤 막대 위치를 지정한 위치 및 lpMaxPos.에 복사 lpMinPos 합니다.

void GetScrollRange(
    int nBar,
    LPINT lpMinPos,
    LPINT lpMaxPos) const;

매개 변수

nBar
검사할 스크롤 막대를 지정합니다. 매개 변수는 다음 값 중 하나를 사용할 수 있습니다.

  • SB_HORZ 가로 스크롤 막대의 위치를 검색합니다.

  • SB_VERT 세로 스크롤 막대의 위치를 검색합니다.

lpMinPos
최소 위치를 받을 정수 변수를 가리킵니다.

lpMaxPos
최대 위치를 받을 정수 변수를 가리킵니다.

설명

스크롤 막대가 없는 경우 CWnd 멤버 함수는 GetScrollRange 0을 lpMinPos 복사하고 lpMaxPos.

표준 스크롤 막대의 기본 범위는 0~100입니다. 스크롤 막대 컨트롤의 기본 범위는 비어 있습니다(두 값 모두 0).

CWnd::GetStyle

현재 창 스타일을 반환합니다.

DWORD GetStyle() const;

Return Value

창의 스타일입니다. MFC에 사용되는 창 스타일에 대한 자세한 내용은 창 스타일을 참조 하세요.

CWnd::GetSystemMenu

애플리케이션에서 복사 및 수정을 위해 컨트롤 메뉴에 액세스할 수 있도록 합니다.

CMenu* GetSystemMenu(BOOL bRevert) const;

매개 변수

bRevert
수행할 작업을 지정합니다. 이 FALSEGetSystemMenu 경우 bRevert 현재 사용 중인 컨트롤 메뉴의 복사본에 대한 핸들을 반환합니다. 이 복사본은 처음에는 컨트롤 메뉴와 동일하지만 수정할 수 있습니다. 이 TRUEGetSystemMenu 경우 bRevert 컨트롤 메뉴를 다시 기본 상태로 다시 설정합니다. 이전의 수정된 컨트롤 메뉴(있는 경우)가 제거됩니다. 이 경우 반환 값이 정의되지 않습니다.

Return Value

컨트롤 메뉴의 복사본(있는 경우 bRevert )을 식별합니다 FALSE. 이 TRUE경우 bRevert 반환 값이 정의되지 않습니다.

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

컨트롤 메뉴의 자체 복사본을 만드는 데 사용하지 GetSystemMenu 않는 모든 창은 표준 컨트롤 메뉴를 받습니다.

멤버 함수에서 반환된 포인터를 GetSystemMenu 컨트롤 CMenu::InsertMenu메뉴와 함께 사용하거나 CMenu::ModifyMenu 함수와 함께 CMenu::AppendMenu사용하여 컨트롤 메뉴를 변경할 수 있습니다.

컨트롤 메뉴에는 처음에는 다양한 ID 값(예: SC_CLOSE, 및SC_SIZE)으로 식별된 항목이 SC_MOVE포함됩니다. 컨트롤 메뉴의 항목은 메시지를 생성합니다 WM_SYSCOMMAND . 미리 정의된 모든 컨트롤 메뉴 항목에는 ID 번호가 0xF000보다 큽니다. 애플리케이션이 컨트롤 메뉴에 항목을 추가하는 경우 F000 미만의 ID 번호를 사용해야 합니다.

Windows에서는 표준 컨트롤 메뉴에서 항목을 자동으로 사용할 수 없게 만들 수 있습니다. CWnd 는 메뉴가 표시되기 전에 전송되는 메시지에 응답하여 WM_INITMENU 자체 선택 또는 사용 불가를 수행할 수 있습니다.

예시

// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu *pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
   CString strAboutMenu;
   strAboutMenu.LoadString(IDS_ABOUT);
   if (!strAboutMenu.IsEmpty())
   {
      pSysMenu->AppendMenu(MF_SEPARATOR);
      pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
   }
}

// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE);  // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

CWnd::GetTitleBarInfo

지정된 제목 표시줄에 대한 정보를 검색합니다.

BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;

매개 변수

pti
TITLEBARINFO 정보를 받는 구조체에 대한 포인터입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 GetTitleBarInfo의 기능을 에뮬레이트합니다.

CWnd::GetTopLevelFrame

이 멤버 함수를 호출하여 창의 최상위 프레임 창(있는 경우)을 검색합니다.

CFrameWnd* GetTopLevelFrame() const;

Return Value

창의 최상위 프레임 창을 식별합니다.

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

연결된 창이 없거나 최상위 부모가 -derived 개체가 아닌 CFrameWnd경우 CWnd 이 함수는 반환합니다NULL.

CWnd::GetTopLevelOwner

이 멤버 함수를 호출하여 최상위 창을 검색합니다.

CWnd* GetTopLevelOwner() const;

Return Value

최상위 창을 식별합니다. 반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

최상위 창은 바탕 화면의 자식 창입니다. 연결된 창이 없으면 CWnd 이 함수가 반환됩니다 NULL.

CWnd::GetTopLevelParent

이 멤버 함수를 호출하여 창의 최상위 부모를 검색합니다.

CWnd* GetTopLevelParent() const;

Return Value

창의 최상위 부모 창을 식별합니다.

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

GetTopLevelParent 은 유사 GetTopLevelFrame 하며 GetTopLevelOwner; 그러나 현재 소유자 창으로 설정된 값을 무시합니다.

CWnd::GetTopWindow

에 속하는 최상위 자식 창을 검색합니다 CWnd.

CWnd* GetTopWindow() const;

Return Value

연결된 자식 창 목록에서 최상위 자식 창을 CWnd 식별합니다. 자식 창이 없으면 값은 .입니다 NULL.

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

자식이 없으면 CWnd 이 함수가 반환됩니다 NULL.

CWnd::GetUpdateRect

업데이트 영역을 완전히 둘러싸는 가장 작은 사각형의 좌표를 검색합니다.

BOOL GetUpdateRect(
    LPRECT lpRect,
    BOOL bErase = FALSE);

매개 변수

lpRect
업데이트 영역을 둘러싸 CRect 는 업데이트의 클라이언트 좌표를 받는 개체 또는 RECT 구조를 가리킵니다.

이 매개 변수를 설정하여 NULL 업데이트 지역이 에 있는지 여부를 확인합니다 CWnd. 이 경우 lpRect 멤버 함수는 NULLGetUpdateRect 업데이트 영역이 있는 경우 0이 아닌 값을 반환하고, 그렇지 않으면 0을 반환합니다. 이렇게 하면 메시지가 잘못된 영역에서 발생했는지 여부를 WM_PAINT 확인할 수 있습니다. 이 매개 변수를 NULL Windows 버전 3.0 이전 버전으로 설정하지 마세요.

bErase
업데이트 영역의 배경을 지울지 여부를 지정합니다.

Return Value

업데이트 영역의 상태 지정합니다. 업데이트 영역이 비어 있지 않으면 값이 0이 아닌 값입니다. 그렇지 않으면 0입니다.

매개 변수가 lpRect 설정된 NULL경우 업데이트 영역이 있으면 반환 값이 0이 아니고, 그렇지 않으면 0입니다.

설명

스타일을 사용하여 CS_OWNDC 만든 경우 매핑 모드가 아닌 GetUpdateRectMM_TEXT경우 CWnd 멤버 함수는 논리 좌표로 사각형을 제공합니다. 그렇지 않으면 GetUpdateRect 클라이언트 좌표에 사각형을 제공합니다. 업데이트 영역 GetUpdateRect 이 없으면 사각형을 비워 두도록 설정합니다(모든 좌표를 0으로 설정).

매개 변수는 bErase 업데이트 영역의 배경을 지워야 하는지 여부를 GetUpdateRect 지정합니다. 있는 TRUE 경우 bErase 업데이트 영역이 비어 있지 않으면 배경이 지워집니다. 배경을 GetUpdateRect 지우려면 메시지를 보냅니다 WM_ERASEBKGND .

멤버 함수에서 검색한 BeginPaint 업데이트 사각형은 멤버 함수에서 검색한 GetUpdateRect 것과 동일합니다.

멤버 함수는 BeginPaint 업데이트 영역의 유효성을 자동으로 검사하므로 GetUpdateRect 호출 BeginPaint 직후 호출하면 빈 업데이트 지역을 검색합니다.

CWnd::GetUpdateRgn

로 식별되는 pRgn지역으로 업데이트 지역을 검색합니다.

int GetUpdateRgn(
    CRgn* pRgn,
    BOOL bErase = FALSE);

매개 변수

pRgn
업데이트 지역을 식별합니다.

bErase
배경이 지워지고 자식 창의 비클라이언트 영역이 그려지는지 여부를 지정합니다. 값이 FALSE면 그리기를 수행하지 않습니다.

Return Value

결과 영역의 형식을 나타내는 짧은 정수 플래그를 지정합니다. 값은 다음 중 하나를 사용할 수 있습니다.

  • SIMPLEREGION 이 지역에는 겹치는 테두리가 없습니다.

  • COMPLEXREGION 이 지역에는 겹치는 테두리가 있습니다.

  • NULLREGION 지역이 비어 있습니다.

  • ERROR 지역이 만들어지지 않았습니다.

설명

이 영역의 좌표는 왼쪽 위 모서리(클라이언트 좌표)를 기준으로 합니다.

멤버 함수는 BeginPaint 업데이트 영역의 유효성을 자동으로 검사하므로 GetUpdateRgn 호출 BeginPaint 직후 호출하면 빈 업데이트 지역을 검색합니다.

CWnd::GetWindow

요청된 창에 대한 포인터를 반환하거나 NULL 없는 경우 반환합니다.

CWnd* GetWindow(UINT nCmd) const;

매개 변수

*nCmd*
반환된 창과 반환된 창 간의 CWnd 관계를 지정합니다. 다음 값 중 하나를 사용할 수 있습니다.

  • GW_CHILD 첫 번째 CWnd 자식 창을 식별합니다.

  • GW_HWNDFIRST 자식 창인 경우 CWnd 첫 번째 형제 창을 반환합니다. 그렇지 않으면 목록의 첫 번째 최상위 창을 반환합니다.

  • GW_HWNDLAST 자식 창인 경우 CWnd 마지막 형제 창을 반환합니다. 그렇지 않으면 목록의 마지막 최상위 창을 반환합니다.

  • GW_HWNDNEXT 창 관리자 목록의 다음 창을 반환합니다.

  • GW_HWNDPREV 창 관리자 목록의 이전 창을 반환합니다.

  • GW_OWNER 소유자를 식별합니다 CWnd .

Return Value

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

CWnd::GetWindowContextHelpId

이 멤버 함수를 호출하여 창과 연결된 도움말 컨텍스트 식별자(있는 경우)를 검색합니다.

DWORD GetWindowContextHelpId() const;

Return Value

도움말 컨텍스트 식별자입니다. 창에 없는 경우 0을 반환합니다.

CWnd::GetWindowedChildCount

이 멤버 함수를 호출하여 연결된 자식 창의 수를 검색합니다.

long GetWindowedChildCount();

Return Value

개체와 연결된 자식 창의 수 CWnd 입니다.

CWnd::GetWindowDC

캡션 막대, 메뉴 및 스크롤 막대를 포함하여 전체 창의 표시 컨텍스트를 검색합니다.

CDC* GetWindowDC();

Return Value

함수가 성공하면 지정된 창의 표시 컨텍스트를 식별합니다. 그렇지 않으면 NULL.

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다. ReleaseDC 에 대한 각 성공적인 호출에 대해 한 번 호출되어야 합니다 GetWindowDC.

설명

창 표시 컨텍스트는 컨텍스트의 원점이 클라이언트 영역 대신 왼쪽 위 모서리 CWnd 이기 때문에 어디에서나 CWnd그리는 것을 허용합니다.

기본 특성은 컨텍스트를 검색할 때마다 표시 컨텍스트에 할당됩니다. 이전 특성은 손실됩니다.

GetWindowDC 는 비클라이언트 영역 내의 특수 그리기 효과에 CWnd 사용됩니다. 창의 비클라이언트 영역에서는 그림판 권장되지 않습니다.

Windows 함수를 GetSystemMetrics 사용하여 캡션 막대, 메뉴 및 스크롤 막대와 같이 비클라이언트 영역의 다양한 부분의 크기를 검색할 수 있습니다.

그리기를 완료한 후 표시 컨텍스트를 ReleaseDC 해제하려면 멤버 함수를 호출해야 합니다. 디스플레이 컨텍스트를 해제하지 않으면 동시에 열 수 있는 디바이스 컨텍스트 수에 대한 제한으로 인해 애플리케이션에서 요청한 그리기가 심각하게 영향을 받습니다.

CWnd::GetWindowInfo

창에 대한 정보를 검색합니다.

BOOL GetWindowInfo(PWINDOWINFO pwi) const;

매개 변수

pwi
구조체에 대한 포인터입니다 WINDOWINFO .

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 GetWindowInfo의 기능을 에뮬레이트합니다.

CWnd::GetWindowlessChildCount

연결된 창 없는 자식 창의 수를 검색합니다.

long GetWindowlessChildCount();

Return Value

개체와 연결된 창 없는 자식 창의 수 CWnd 입니다.

CWnd::GetWindowPlacement

창의 표시 상태와 일반(복원됨), 최소화 및 최대화 위치를 검색합니다.

BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;

매개 변수

lpwndpl
WINDOWPLACEMENT 표시 상태 및 위치 정보를 받는 구조를 가리킵니다.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

flags 함수에 WINDOWPLACEMENT 의해 검색된 구조체의 멤버는 항상 0입니다. 최대화된 경우 CWnd 멤버 WINDOWPLACEMENTshowCmd .입니다SW_SHOWMAXIMIZED. 창이 최소화되면 .입니다 SW_SHOWMINIMIZED. 그렇지 않은 경우입니다 SW_SHOWNORMAL .

CWnd::GetWindowRect

개체의 경계 사각형 CWnd 의 크기를 가리키는 구조체에 lpRect복사합니다.

void GetWindowRect(LPRECT lpRect) const;

매개 변수

lpRect
CRect 왼쪽 위와 오른쪽 아래 모서리의 화면 좌표를 받을 개체 또는 RECT 구조를 가리킵니다.

설명

치수는 디스플레이 화면의 왼쪽 위 모서리를 기준으로 화면 좌표로 제공됩니다. 캡션, 테두리 및 스크롤 막대의 크기(있는 경우)가 포함됩니다.

CWnd::GetWindowRgn

이 멤버 함수를 호출하여 창의 창 영역을 가져옵니다.

int GetWindowRgn(HRGN hRgn)const;

매개 변수

hRgn
창 영역에 대한 핸들입니다.

Return Value

반환 값은 함수가 가져오는 영역의 형식을 지정합니다. 다음 값 중 하나일 수 있습니다.

  • NULLREGION 지역이 비어 있습니다.

  • SIMPLEREGION 영역은 단일 사각형입니다.

  • COMPLEXREGION 영역이 두 개 이상의 사각형입니다.

  • ERROR 오류가 발생했습니다. 지역은 영향을 받지 않습니다.

설명

창 영역은 운영 체제에서 그리기를 허용하는 창 내의 영역을 결정합니다. 운영 체제는 창 영역 외부에 있는 창의 일부를 표시하지 않습니다.

창 창 영역의 좌표는 창의 클라이언트 영역이 아니라 창의 왼쪽 위 모서리를 기준으로 합니다.

창의 창 영역을 설정하려면 .를 호출 CWnd::SetWindowRgn합니다.

CWnd::GetWindowText

CWnd 캡션 제목(있는 경우)을 가리키는 버퍼 lpszStringBuf 에 복사하거나 대상 문자열rString에 복사합니다.

int GetWindowText(
    LPTSTR lpszStringBuf,
    int nMaxCount) const;

void GetWindowText(
    CString& rString) const;

매개 변수

lpszStringBuf
창 제목에서 복사한 문자열을 받을 버퍼를 가리킵니다.

nMaxCount
종료 null 문자를 포함하여 버퍼에 복사할 최대 문자 수를 지정합니다. 문자열이 지정된 nMaxCount문자 수보다 길면 잘립니다.

rString
CString 창 제목에서 복사한 문자열을 받는 개체입니다.

Return Value

종료 null 문자를 포함하지 않고 복사된 문자열의 길이를 문자 단위로 지정합니다. 캡션 없거나 캡션 비어 있는 경우 CWnd 0입니다.

설명

개체가 CWnd 컨트롤 GetWindowText 인 경우 멤버 함수는 캡션 복사하는 대신 컨트롤 내에서 텍스트를 복사합니다.

이 멤버 함수는 WM_GETTEXT 메시지를 개체로 보내도록 CWnd 합니다.

예시

에 대한 예제를 CWnd::SetWindowText참조하세요.

CWnd::GetWindowTextLength

개체 캡션 제목 길이 CWnd 를 반환합니다.

int GetWindowTextLength() const;

Return Value

null 종료 문자를 포함하지 않고 문자의 텍스트 길이를 지정합니다. 이러한 텍스트가 없으면 값은 0입니다.

설명

컨트롤 GetWindowTextLength 인 경우 CWnd 멤버 함수는 캡션 대신 컨트롤 내의 텍스트 길이를 반환합니다.

이 멤버 함수는 WM_GETTEXTLENGTH 메시지를 개체로 보내도록 CWnd 합니다.

예시

에 대한 예제를 CWnd::SetWindowText참조하세요.

CWnd::HideCaret

디스플레이 화면에서 제거하여 캐럿을 숨깁니다.

void HideCaret();

설명

캐럿은 더 이상 표시되지 않지만 멤버 함수를 사용하여 ShowCaret 다시 표시할 수 있습니다. 캐리트를 숨기면 현재 모양이 삭제되지 않습니다.

숨기기는 누적됩니다. 한 행에서 5번 호출된 경우 HideCaret 멤버 함수를 ShowCaret 5번 호출해야 캐리트가 표시됩니다.

CWnd::HiliteMenuItem

최상위(메뉴 모음) 메뉴 항목에서 강조 표시를 강조 표시하거나 제거합니다.

BOOL HiliteMenuItem(
    CMenu* pMenu,
    UINT nIDHiliteItem,
    UINT nHilite);

매개 변수

pMenu
강조 표시할 항목이 포함된 최상위 메뉴를 식별합니다.

nIDHiliteItem
매개 변수 값 nHilite 에 따라 강조 표시할 메뉴 항목을 지정합니다.

nHilite
메뉴 항목이 강조 표시되거나 강조 표시가 제거되는지 여부를 지정합니다. 이 조합은 MF_HILITE 조합일 수 있습니다MF_BYPOSITION.MF_UNHILITEMF_BYCOMMAND 비트 OR 연산자를 사용하여 값을 결합할 수 있습니다. 이러한 값에는 다음과 같은 의미가 있습니다.

  • MF_BYCOMMAND 메뉴 항목 ID(기본 해석)로 해석됩니다 nIDHiliteItem .

  • MF_BYPOSITIONnIDHiliteItem 메뉴 항목의 0부터 시작하는 오프셋으로 해석됩니다.

  • MF_HILITE 항목을 강조 표시합니다. 이 값이 지정되지 않으면 항목에서 강조 표시가 제거됩니다.

  • MF_UNHILITE 항목에서 강조 표시를 제거합니다.

Return Value

메뉴 항목이 강조 표시되었는지 여부를 지정합니다. 항목이 강조 표시된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

MF_UNHILITE 플래그는 MF_HILITE 이 멤버 함수에서만 사용할 수 있으며 멤버 함수와 함께 CMenu::ModifyMenu 사용할 수 없습니다.

CWnd::HtmlHelp

이 멤버 함수를 호출하여 HTMLHelp 애플리케이션을 호출합니다.

virtual void HtmlHelp(
    DWORD_PTR dwData,
    UINT nCmd = 0x000F);

매개 변수

dwData
추가 데이터를 지정합니다. 사용되는 값은 매개 변수의 nCmd 값에 따라 달라집니다.

nCmd
요청한 도움말의 형식을 지정합니다. 가능한 값 목록 및 매개 변수에 dwData 미치는 영향은 Windows SDK의 uCommand HTML 도움말 API 참조에 설명된 매개 변수를 참조하세요.

설명

자세한 내용은 CWinApp::HtmlHelp 을 참조하세요.

CWnd::InitDynamicLayout

창의 동적 레이아웃을 초기화하기 위해 프레임워크에서 호출됩니다.

void InitDynamicLayout();

설명

이 메서드를 직접 호출하지 마세요.

CWnd::Invalidate

의 전체 클라이언트 영역을 CWnd무효화합니다.

void Invalidate(BOOL bErase = TRUE);

매개 변수

bErase
업데이트 영역 내의 배경을 지울지 여부를 지정합니다.

설명

클라이언트 영역은 다음 WM_PAINT 메시지가 발생할 때 그리기 위해 표시됩니다. 또는 ValidateRgn 멤버 함수에 WM_PAINT 의해 메시지가 발생하기 전에 영역의 유효성을 ValidateRect 검사할 수도 있습니다.

매개 변수는 bErase 업데이트 영역이 처리될 때 업데이트 영역 내의 배경을 지울지 여부를 지정합니다. 이 TRUE경우 bErase 멤버 함수가 호출될 때 BeginPaint 배경이 지워집니다. 이 경우 bEraseFALSE배경은 변경되지 기본. TRUE 업데이트 영역의 일부인 경우 bErase 지정된 부분뿐만 아니라 전체 지역의 배경이 지워집니다.

Windows는 WM_PAINT 업데이트 지역이 비어 있지 않고 해당 창에 CWnd 대한 애플리케이션 큐에 다른 메시지가 없을 때마다 메시지를 보냅니다.

예시

에 대한 예제를 CWnd::UpdateWindow참조하세요.

CWnd::InvalidateRect

해당 사각형을 업데이트 영역에 추가하여 지정된 사각형 내의 CWnd 클라이언트 영역을 무효화합니다.

void InvalidateRect(
    LPCRECT lpRect,
    BOOL bErase = TRUE);

매개 변수

lpRect
CRect 업데이트 영역에 추가할 사각형(클라이언트 좌표)이 포함된 개체 또는 RECT 구조를 가리킵니다. NULL이 경우 lpRect 전체 클라이언트 영역이 지역에 추가됩니다.

bErase
업데이트 영역 내의 배경을 지울지 여부를 지정합니다.

설명

무효화된 사각형은 업데이트 지역의 다른 모든 영역과 함께 다음 WM_PAINT 메시지를 보낼 때 그리기 위해 표시됩니다. 무효화된 영역은 다음 WM_PAINT 호출이 발생할 때 또는 영역이 또는 ValidateRgn 멤버 함수에 의해 ValidateRect 유효성을 검사할 때까지 지역이 처리될 때까지 업데이트 지역에 누적됩니다.

매개 변수는 bErase 업데이트 영역이 처리될 때 업데이트 영역 내의 배경을 지울지 여부를 지정합니다. 이 TRUE경우 bErase 멤버 함수가 호출될 때 BeginPaint 배경이 지워집니다. 이 경우 bEraseFALSE배경은 변경되지 기본. TRUE 업데이트 영역의 일부인 경우 bErase 지정된 부분뿐만 아니라 전체 지역의 배경이 지워집니다.

Windows는 WM_PAINT 업데이트 지역이 비어 있지 않고 해당 창에 CWnd 대한 애플리케이션 큐에 다른 메시지가 없을 때마다 메시지를 보냅니다.

CWnd::InvalidateRgn

의 현재 업데이트 영역에 추가하여 지정된 지역 내의 CWnd클라이언트 영역을 무효화합니다.

void InvalidateRgn(
    CRgn* pRgn,
    BOOL bErase = TRUE);

매개 변수

pRgn
업데이트 지역에 추가할 지역을 식별하는 개체에 대한 포인터 CRgn 입니다. 지역에는 클라이언트 좌표가 있는 것으로 간주됩니다. 이 매개 변수인 NULL경우 전체 클라이언트 영역이 업데이트 지역에 추가됩니다.

bErase
업데이트 영역 내의 배경을 지울지 여부를 지정합니다.

설명

업데이트 영역의 다른 모든 영역과 함께 무효화된 영역은 메시지가 다음에 전송될 때 WM_PAINT 그리기 위해 표시됩니다. 무효화된 영역은 다음에 메시지를 보낼 때 WM_PAINT 또는 지역 유효성을 검사할 때까지 지역이 처리될 때까지 또는 멤버 함수에 의해 ValidateRectValidateRgn 지역 유효성이 검사될 때까지 업데이트 지역에 누적됩니다.

매개 변수는 bErase 업데이트 영역이 처리될 때 업데이트 영역 내의 배경을 지울지 여부를 지정합니다. 이 TRUE경우 bErase 멤버 함수가 호출될 때 BeginPaint 배경이 지워집니다. 이 경우 bEraseFALSE배경은 변경되지 기본. TRUE 업데이트 영역의 일부인 경우 bErase 지정된 부분뿐만 아니라 전체 지역의 배경이 지워집니다.

Windows는 WM_PAINT 업데이트 지역이 비어 있지 않고 해당 창에 CWnd 대한 애플리케이션 큐에 다른 메시지가 없을 때마다 메시지를 보냅니다.

지정된 지역은 이전에 지역 함수 중 하나에 의해 만들어졌어야 합니다.

CWnd::InvokeHelper

이 멤버 함수를 호출하여 지정한 컨텍스트wFlags에서 ActiveX Control 메서드 또는 지정한 dwDispID속성을 호출합니다.

void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    ... );

매개 변수

dwDispID
호출할 메서드 또는 속성을 식별합니다.

wFlags
호출의 컨텍스트를 설명하는 플래그입니다 IDispatch::Invoke.

vtRet
반환 값 형식을 지정합니다. 가능한 값은 에 대한 설명 섹션을 COleDispatchDriver::InvokeHelper참조하세요.

pvRet
속성 값 또는 반환 값을 받을 변수의 주소입니다. vtRet를 통해 지정된 형식과 일치해야 합니다.

pbParamInfo
pbParamInfo뒤에 매개 변수 형식을 지정하는 바이트의 null로 종료된 문자열에 대한 포인터입니다. 가능한 값은 에 대한 설명 섹션을 COleDispatchDriver::InvokeHelper참조하세요.

...
에 지정된 pbParamInfo형식의 매개 변수 변수 목록입니다.

설명

pbParamInfo 매개 변수는 메서드나 속성에 전달되는 매개 변수 형식을 지정합니다. 인수의 변수 목록은 구문 선언으로 표시됩니다 ... .

이 함수는 매개 변수를 값으로 VARIANTARG 변환한 다음 ActiveX 컨트롤에서 IDispatch::Invoke 메서드를 호출합니다. IDispatch::Invoke 호출에 실패하면 이 함수가 예외를 throw합니다. 반환된 SCODE (상태 코드)가 있으면 이 함수는 DISP_E_EXCEPTION개체를 COleException throw하고, 그렇지 않으면 을 throw합니다COleDispatchException.IDispatch::Invoke

참고 항목

이 함수는 ActiveX 컨트롤을 CWnd 나타내는 개체에서만 호출되어야 합니다.

ActiveX 컨트롤 컨테이너에서 이 멤버 함수를 사용하는 방법에 대한 자세한 내용은 ActiveX 컨트롤 컨테이너: ActiveX 컨트롤 컨테이너에서 ActiveX 컨트롤 프로그래밍 문서를 참조하세요.

CWnd::IsChild

지정한 pWnd 창이 자식 창인지 또는 다른 직계 하위 CWnd항목인지 여부를 나타냅니다.

BOOL IsChild(const CWnd* pWnd) const;

매개 변수

pWnd
테스트할 창을 식별합니다.

Return Value

함수의 결과를 지정합니다. 식별된 pWnd 창이 자식 창 CWnd이면 값이 0이 아니고, 그렇지 않으면 0입니다.

설명

자식 창은 개체가 원래 팝업 창에서 자식 창으로 이어지는 부모 창 체인에 있는 경우 CWnd 의 직접 하위 CWnd 항목입니다.

CWnd::IsD2DSupportEnabled

D2D 지원을 사용할 수 있는지 여부를 확인합니다.

BOOL IsD2DSupportEnabled();

Return Value

TRUE 기능을 사용하도록 설정하면 FALSE.

CWnd::IsDialogMessage

이 멤버 함수를 호출하여 지정된 메시지가 모덜리스 대화 상자용인지 여부를 확인합니다. 그렇다면 이 함수는 메시지를 처리합니다.

BOOL IsDialogMessage(LPMSG lpMsg);

매개 변수

lpMsg
MSG 검사 메시지를 포함하는 구조를 가리킵니다.

Return Value

멤버 함수가 지정된 메시지를 처리했는지 여부를 지정합니다. 메시지가 처리된 경우 0이 아닌 값입니다. 그렇지 않으면 0입니다. 반환이 0이면 기본 클래스의 멤버 함수를 호출 CWnd::PreTranslateMessage 하여 메시지를 처리합니다. 멤버 함수의 재정의 CWnd::PreTranslateMessage 에서 코드는 다음과 같습니다.

BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
   if (IsDialogMessage(pMsg))
      return TRUE;
   else
      return CDialog::PreTranslateMessage(pMsg);
}

설명

함수는 IsDialogMessage 메시지를 처리할 때 키보드 메시지를 검사 해당 대화 상자의 선택 명령으로 변환합니다. 예를 들어 TAB 키는 다음 컨트롤 또는 컨트롤 그룹을 선택하고 아래쪽 화살표 키는 그룹의 다음 컨트롤을 선택합니다.

이미 처리되었으므로 처리된 IsDialogMessageTranslateMessage 메시지를 Windows 함수 또는 DispatchMessage Windows 함수에 전달해서는 안 됩니다.

CWnd::IsDlgButtonChecked

단추 컨트롤 옆에 검사 표시가 있는지 여부를 확인합니다.

UINT IsDlgButtonChecked(int nIDButton) const;

매개 변수

nIDButton
단추 컨트롤의 정수 식별자를 지정합니다.

Return Value

지정된 컨트롤이 검사 경우 0이 아니고, 검사 않은 경우 0입니다. 라디오 단추와 검사 상자만 검사 수 있습니다. 3개 상태 단추의 경우 단추가 확정되지 않은 경우 반환 값은 2가 될 수 있습니다. 이 멤버 함수는 pushbutton에 대해 0을 반환합니다.

설명

단추가 3개 상태 컨트롤인 경우 멤버 함수는 단추가 흐리게 표시되었는지, 검사 또는 둘 다인지를 결정합니다.

CWnd::IsDynamicLayoutEnabled

이 창에서 동적 레이아웃이 사용되는지 여부를 확인합니다. 동적 레이아웃이 사용되는 경우 사용자가 부모 창의 크기를 조정하면 자식 창의 위치 및 크기가 변경될 수 있습니다.

BOOL IsDynamicLayoutEnabled() const;

Return Value

TRUE 동적 레이아웃을 사용하도록 설정하면 FALSE.

설명

CWnd::IsIconic

최소화(아이콘)인지 여부를 CWnd 지정합니다.

BOOL IsIconic() const;

Return Value

최소화된 경우 CWnd 0이 아니고, 그렇지 않으면 0입니다.

예시

void CAboutDlg::OnPaint()
{
   // This code, normally emitted by the Application Wizard for a dialog-
   // based project for the dialog's WM_PAINT handler, runs only if the
   // window is iconic. The window erases the icon's area, then
   // paints the icon referenced by m_hIcon.
   if (IsIconic())
   {
      CPaintDC dc(this); // device context for painting

      SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);

      // Center icon in client rectangle
      int cxIcon = GetSystemMetrics(SM_CXICON);
      int cyIcon = GetSystemMetrics(SM_CYICON);
      CRect rect;
      GetClientRect(&rect);
      int x = (rect.Width() - cxIcon + 1) / 2;
      int y = (rect.Height() - cyIcon + 1) / 2;

      // Draw the icon
      dc.DrawIcon(x, y, m_hIcon);
   }
   else
   {
      CDialog::OnPaint();
   }
}

CWnd::IsTouchWindow

CWnd가 터치를 지원하는지 여부를 지정합니다.

BOOL IsTouchWindow() const;

Return Value

TRUE 터치 지원이 있으면 CWnd /&이고, 그렇지 않으면 FALSE.입니다.

설명

CWnd::IsWindowEnabled

마우스 및 키보드 입력에 사용할 수 있는지 여부를 CWnd 지정합니다.

BOOL IsWindowEnabled() const;

Return Value

0이 아닌 경우 CWnd 0이고, 그렇지 않으면 0입니다.

예시

//change the background color of an edit control on the dialog
HBRUSH CMyDlg::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
   HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

   if (pWnd->GetDlgCtrlID() == IDC_MYEDIT)
   {
      if (pWnd->IsWindowEnabled())
      {
         // Red brush for the background...
         pDC->SetBkColor(RGB(255, 0, 0));
         // m_pRedBrush is the CBrush object initialized with a red brush
         // using CreateSolidBrush
         return (HBRUSH)m_RedBrush.GetSafeHandle();
      }
      else
      {
         // Blue brush for the background...
         pDC->SetBkColor(RGB(0, 0, 255));
         // m_pBlueBrush is the CBrush object initialized with a blue
         // brush using CreateSolidBrush
         return (HBRUSH)m_BlueBrush.GetSafeHandle();
      }
   }

   return hbr;
}

CWnd::IsWindowVisible

지정된 창의 표시 여부를 결정합니다.

BOOL IsWindowVisible() const;

Return Value

0이 아닌 경우 CWnd ( WS_VISIBLE 스타일 비트가 설정되고 부모 창이 표시됨) 반환 값은 스타일 비트의 WS_VISIBLE 상태를 반영하므로 반환 값은 다른 창에서 완전히 가려지더라도 CWnd 0이 아닐 수 있습니다.

설명

창에는 스타일 비트로 표시된 WS_VISIBLE 표시 유형 상태가 있습니다. 이 스타일 비트가 멤버 함수를 호출하여 ShowWindow 설정되면 창이 표시되고 창에 스타일 비트가 설정된 한 창에 대한 후속 드로잉이 표시됩니다.

창이 WS_VISIBLE 다른 창으로 덮여 있거나 부모 창에서 잘린 경우 스타일이 있는 창에 대한 그리기는 표시되지 않습니다.

예시

// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is not, it calls
// CWnd::ShowWindow with the SW_SHOWNORMAL command.
void CMainFrame::DisplayModeless()
{
   if(!m_Modeless.IsWindowVisible())
   {
      m_Modeless.ShowWindow(SW_SHOWNORMAL);
   }
}

// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is, it calls
// CWnd::ShowWindow with the SW_HIDE command.
void CMainFrame::HideModeless()
{
   if(m_Modeless.IsWindowVisible())
   {
      m_Modeless.ShowWindow(SW_HIDE);
   }
}

CWnd::IsZoomed

최대화되었는지 여부를 CWnd 확인합니다.

BOOL IsZoomed() const;

Return Value

최대화된 경우 CWnd 0이 아니고, 그렇지 않으면 0입니다.

CWnd::KillTimer

이전 호출에서 식별된 nIDEvent 타이머 이벤트를 종료합니다 SetTimer.

BOOL KillTimer(UINT_PTR nIDEvent);

매개 변수

nIDEvent
전달된 타이머 이벤트의 값입니다 SetTimer.

Return Value

함수의 결과를 지정합니다. 이벤트가 종료된 경우 값은 0이 아닌 값입니다. 멤버 함수가 지정된 타이머 이벤트를 찾을 수 없는 경우 KillTimer 0입니다.

설명

타이머와 연결된 보류 중인 WM_TIMER 메시지는 메시지 큐에서 제거되지 않습니다.

예시

에 대한 예제를 CWnd::SetTimer참조하세요.

CWnd::LoadDynamicLayoutResource

프레임워크에서 호출되어 리소스 파일에서 동적 레이아웃 정보를 로드합니다.

BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);

매개 변수

lpszResourceName
이 창에 대한 필요한 동적 레이아웃 정보가 포함된 리소스의 이름입니다.

Return Value

함수가 성공하는 경우 0이 아닙니다. 오류가 발생하는 경우 0입니다.

설명

이 메서드를 직접 호출하지 마세요.

CWnd::LockWindowUpdate

지정된 창에서 그리기를 사용하지 않도록 설정합니다.

BOOL LockWindowUpdate();

Return Value

함수가 성공하는 경우 0이 아닙니다. 오류가 발생하거나 함수가 다른 창을 잠그는 데 사용된 경우 LockWindowUpdate 0입니다.

설명

잠긴 창을 이동할 수 없습니다. 한 번에 하나의 창만 잠글 수 있습니다. 잠긴 LockWindowUpdate창의 잠금을 해제하려면 .를 호출합니다 UnlockWindowUpdate.

잠긴 창(또는 잠긴 자식 창)이 있는 애플리케이션이 또는 GetDCExBeginPaint Windows 함수를 호출GetDC하는 경우 호출된 함수는 표시되는 영역이 비어 있는 디바이스 컨텍스트를 반환합니다. 이 문제는 애플리케이션이 멤버 함수를 호출하여 창의 잠금을 해제할 UnlockWindowUpdate 때까지 발생합니다.

창 업데이트가 잠겨 있는 동안 시스템은 잠긴 창과 연결된 디바이스 컨텍스트에 대한 그리기 작업의 경계 사각형을 추적합니다. 드로잉을 다시 사용하도록 설정하면 잠긴 창과 자식 창에서 이 경계 사각형이 무효화되어 최종 WM_PAINT 메시지가 강제로 화면을 업데이트합니다. 창 업데이트가 잠겨 있는 동안 드로잉이 발생하지 않은 경우 영역이 무효화되지 않습니다.

멤버 함수는 LockWindowUpdate 지정된 창을 표시하지 않으며 스타일 비트를 지우 WS_VISIBLE 지 않습니다.

CWnd::m_hWnd

CWnd창에 연결된 Windows 창의 핸들입니다.

HWND m_hWnd;

설명

데이터 멤버는 m_hWnd 형식 HWND의 공용 변수입니다.

CWnd::MapWindowPoints

CWnd의 좌표 공간에서 다른 창의 좌표 공간으로 점 집합(맵)을 변환합니다.

void MapWindowPoints(
    CWnd* pwndTo,
    LPRECT lpRect) const;

void MapWindowPoints(
    CWnd* pwndTo,
    LPPOINT lpPoint,
    UINT nCount) const;

매개 변수

pwndTo
지점이 변환되는 창을 식별합니다. 이 매개 변수인 NULL경우 점이 화면 좌표로 변환됩니다.

lpRect
점을 변환할 사각형을 지정합니다. 이 함수의 첫 번째 버전은 Windows 3.1 이상에서만 사용할 수 있습니다.

lpPoint
변환할 점 집합을 포함하는 구조체 배열 POINT 에 대한 포인터입니다.

nCount
가 가리키는 배열의 POINT 구조체 수를 지정합니다 lpPoint.

CWnd::MessageBox

애플리케이션에서 제공하는 메시지와 캡션 포함된 창과 메시지 상자 스타일 목록에 설명된 미리 정의된 아이콘 및 푸시버튼의 조합을 만들고 표시합니다.

int MessageBox(
    LPCTSTR lpszText,
    LPCTSTR lpszCaption = NULL,
    UINT nType = MB_OK);

매개 변수

lpszText
표시할 CString 메시지를 포함하는 개체 또는 null로 끝나는 문자열을 가리킵니다.

lpszCaption
메시지 상자 캡션 CString 사용할 개체 또는 null로 끝나는 문자열을 가리킵니다. 이 NULL경우 lpszCaption 기본 캡션 "Error"가 사용됩니다.

nType
메시지 상자의 내용과 동작을 지정합니다.

Return Value

이 메서드는 MessageBox Windows SDK에 정의된 대로 함수를 활용합니다. 이 메서드는 이 함수를 호출한 결과를 반환합니다.

설명

이 멤버 함수 대신 전역 함수 AfxMessageBox 를 사용하여 애플리케이션에서 메시지 상자를 구현합니다.

다음은 메시지 상자에서 사용할 수 있는 다양한 시스템 아이콘을 보여 줍니다.

Icon Macro
Stop or X icon, consisting of a red circle with a white x in the middle. MB_ICONHAND, MB_ICONSTOPMB_ICONERROR
Help or question mark icon, consisting of a thought bubble icon with a question mark in it. MB_ICONQUESTION
Important or exclamation point icon, consisting of a yellow triangle with a black exclamation point in it. MB_ICONEXCLAMATION 및 MB_ICONWARNING
Information or letter I icon, consiting of a thought bubble with a lowercase letter i in it. MB_ICONASTERISK 및 MB_ICONINFORMATION

예시

void CMainFrame::OnDisplayErrorMessage()
{
   // This displays a message box with the title "Error"
   // and the message "Help, Something went wrong."
   // The error icon is displayed in the message box, along with
   // an OK button.
   MessageBox(_T("Help, Something went wrong."), _T("Error"),
              MB_ICONERROR | MB_OK);
}

CWnd::ModifyStyle

이 멤버 함수를 호출하여 창의 스타일을 수정합니다.

BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

매개 변수

dwRemove
스타일을 수정하는 동안 제거할 창 스타일을 지정합니다.

dwAdd
스타일을 수정하는 동안 추가할 창 스타일을 지정합니다.

nFlags
전달 SetWindowPos될 플래그 또는 호출하지 않아야 하는 경우 SetWindowPos 0입니다. 기본값은 0입니다. 미리 설정된 플래그 목록은 설명 섹션을 참조하세요.

Return Value

스타일이 성공적으로 수정된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

추가하거나 제거할 스타일은 비트 OR(|) 연산자를 사용하여 결합할 수 있습니다. 사용 가능한 창 스타일에 대한 자세한 내용은 Windows SDK 및 CreateWindow 창 스타일 항목을 참조하세요.

0 ModifyStyle 이 아닌 경우 nFlags Windows API 함수 SetWindowPos 를 호출하고 다음 네 가지 미리 설정된 플래그와 결합하여 nFlags 창을 다시 그립니다.

  • SWP_NOSIZE 현재 크기를 유지합니다.

  • SWP_NOMOVE 현재 위치를 유지합니다.

  • SWP_NOZORDER 현재 Z 순서를 유지합니다.

  • SWP_NOACTIVATE 창을 활성화하지 않습니다.

창의 확장 스타일을 수정하려면 다음을 참조하세요 ModifyStyleEx.

참고 항목

특정 컨트롤의 일부 스타일( ES_READONLY 예: 편집 컨트롤의 스타일) ModifyStyle 의 경우 컨트롤이 특수 내부 처리를 수행해야 할 수 있으므로 스타일을 제대로 변경하지 못할 수 있습니다. 이러한 경우 스타일을 변경하는 해당 메시지를 사용할 수 있습니다( EM_SETREADONLY 예제에서는 멘션ed).

예시

// This example adds the WS_CLIPCHILDREN style to the window.
// No Styles are removed from the window.
void CMyView::OnInitialUpdate()
{
   CView::OnInitialUpdate();
   ModifyStyle(0, WS_CLIPCHILDREN);
}

CWnd::ModifyStyleEx

이 멤버 함수를 호출하여 창의 확장 스타일을 수정합니다.

BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags = 0);

매개 변수

dwRemove
스타일을 수정하는 동안 제거할 확장 스타일을 지정합니다.

dwAdd
스타일을 수정하는 동안 추가할 확장 스타일을 지정합니다.

nFlags
전달 SetWindowPos될 플래그 또는 호출하지 않아야 하는 경우 SetWindowPos 0입니다. 기본값은 0입니다. 미리 설정된 플래그 목록은 설명 섹션을 참조하세요.

Return Value

스타일이 성공적으로 수정된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

추가하거나 제거할 스타일은 비트 OR(|) 연산자를 사용하여 결합할 수 있습니다. 사용 가능한 확장 스타일에 대한 자세한 내용은 이 책 및 CreateWindowEx Windows SDK의 확장 창 스타일 항목을 참조하세요.

0 ModifyStyleEx 이 아닌 경우 nFlags Windows API 함수 SetWindowPos 를 호출하고 다음 네 가지 미리 설정된 플래그와 결합하여 nFlags 창을 다시 그립니다.

  • SWP_NOSIZE 현재 크기를 유지합니다.

  • SWP_NOMOVE 현재 위치를 유지합니다.

  • SWP_NOZORDER 현재 Z 순서를 유지합니다.

  • SWP_NOACTIVATE 창을 활성화하지 않습니다.

일반 창 스타일을 사용하여 창을 수정하려면 다음을 참조하세요 ModifyStyle.

예시

// This example would make the dialog box transparent by
// changing the dialog window's extended styles.
int CAboutDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
   if (CDialog::OnCreate(lpCreateStruct) == -1)
      return -1;

   ModifyStyleEx(0, WS_EX_TRANSPARENT);   
   
   return 0;
}

CWnd::MoveWindow

위치 및 차원을 변경합니다.

void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight,
    BOOL bRepaint = TRUE);

void MoveWindow(
    LPCRECT lpRect,
    BOOL bRepaint = TRUE);

매개 변수

x
왼쪽의 CWnd새 위치를 지정합니다.

y
위쪽 CWnd의 새 위치를 지정합니다.

nWidth
의 새 너비를 지정합니다 CWnd.

nHeight
의 새 높이를 CWnd지정합니다.

bRepaint
다시 칠할지 여부를 CWnd 지정합니다. 이면 TRUE평소와 같이 메시지 처리기에서 OnPaint 메시지를 받 WM_PAINTCWnd 습니다. 이 매개 변수인 FALSE경우 어떤 종류의 다시 그리기도 수행되지 않습니다. 이는 클라이언트 영역, 비클라이언트 영역(제목 및 스크롤 막대 포함) 및 '이동의 CWnd결과로 발견된 부모 창의 모든 부분에 적용됩니다. 이 매개 변수인 경우 애플리케이션은 FALSE다시 그려야 하는 부모 창의 CWnd 모든 부분을 명시적으로 무효화하거나 다시 그려야 합니다.

lpRect
CRect 새 크기와 위치를 지정하는 개체 또는 RECT 구조체입니다.

설명

최상위 CWnd 개체의 x 경우 및 y 매개 변수는 화면의 왼쪽 위 모서리를 기준으로 합니다. 자식 CWnd 개체의 경우 부모 창 클라이언트 영역의 왼쪽 위 모서리를 기준으로 합니다.

함수는 MoveWindow 메시지를 보냅니다 WM_GETMINMAXINFO . 이 메시지를 CWnd 처리하면 가능한 가장 크고 작은 창의 기본값을 수정할 수 있습니다. 멤버 함수에 대한 매개 변수가 MoveWindow 이러한 값을 초과하면 해당 값을 처리기의 최소값 또는 최대값 WM_GETMINMAXINFO 으로 바꿀 수 있습니다.

예시

에 대한 예제를 CWnd::ClientToScreen참조하세요.

CWnd::NotifyWinEvent

미리 정의된 이벤트가 발생한 시스템에 신호를 보냅니다. 클라이언트 애플리케이션이 이벤트에 대한 후크 함수를 등록한 경우 시스템은 클라이언트의 후크 함수를 호출합니다.

void NotifyWinEvent(
    DWORD event,
    LONG idObjectType,
    LONG idObject);

매개 변수

event
발생한 이벤트를 지정합니다. 이 값은 이벤트 상수 중 하나여야 합니다.

idObjectType
이벤트를 생성한 개체의 종류를 식별합니다. 이 값은 미리 정의된 개체 식별자 또는 사용자 지정 개체 ID 값 중 하나입니다.

idObject
개체 또는 개체의 자식 요소에 의해 이벤트가 생성되었는지 여부를 식별합니다. 이 값이 CHILDID_SELF면 개체 자체에 의해 이벤트가 생성되었습니다. 그렇지 않은 경우 이 값은 이벤트를 생성한 요소의 자식 ID입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 NotifyWinEvent의 기능을 에뮬레이트합니다.

CWnd::OnActivate

프레임워크는 개체가 활성화되거나 비활성화될 때 CWnd 이 멤버 함수를 호출합니다.

afx_msg void OnActivate(
    UINT nState,
    CWnd* pWndOther,
    BOOL bMinimized);

매개 변수

nState
활성화되는지 비활성화되는지 여부를 CWnd 지정합니다. 다음 값 중 하나일 수 있습니다.

  • WA_INACTIVE 창이 비활성화되고 있습니다.

  • WA_ACTIVE 창은 마우스 클릭 이외의 일부 방법을 통해 활성화되고 있습니다(예: 키보드 인터페이스를 사용하여 창을 선택).

  • WA_CLICKACTIVE 마우스 클릭으로 창이 활성화되고 있습니다.

pWndOther
CWnd 활성화되거나 비활성화되는 대상에 대한 포인터입니다. 포인터는 일시적일 NULL수 있습니다.

bMinimized
활성화되거나 비활성화되는 최소화된 상태를 CWnd 지정합니다. 값은 TRUE 창이 최소화되었음을 나타냅니다.

CWnd 이면 TRUE활성화되고, 그렇지 않으면 비활성화됩니다.

설명

CWnd 마우스 클릭으로 개체가 활성화되면 멤버 함수 호출도 수신 OnMouseActivate 됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnActivateApp

프레임워크는 활성화되는 작업의 모든 최상위 창과 비활성화되는 작업의 모든 최상위 창에 대해 이 멤버 함수를 호출합니다.

afx_msg void OnActivateApp(
    BOOL bActive,
    DWORD dwThreadID);

매개 변수

bActive
활성화되는지 비활성화되는지 여부를 CWnd 지정합니다. TRUE 는 활성화 CWnd 되고 있음을 의미합니다. FALSECWnd 비활성화되고 있음을 의미합니다.

dwThreadID
스레드 ID의 값을 지정합니다. 이 TRUEdwThreadID 경우 bActive 비활성화되는 스레드를 CWnd 식별합니다. 이 FALSEdwThreadID 경우 bActive 활성화되는 스레드를 CWnd 식별합니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnAmbientProperty

프레임워크는 이 멤버 함수를 호출하여 OLE 컨트롤이 포함된 창에서 앰비언트 속성 값을 가져옵니다.

virtual BOOL OnAmbientProperty(
    COleControlSite* pSite,
    DISPID dispid,
    VARIANT* pvar);

매개 변수

pSite
앰비언트 속성을 요청한 컨트롤의 사이트에 대한 포인터입니다.

dispid
요청된 앰비언트 속성의 디스패치 ID입니다.

pvar
앰비언트 속성의 값이 반환되는 호출자 할당 VARIANT 구조체에 대한 포인터입니다.

Return Value

TRUE 앰비언트 속성이 지원되면 이고, FALSE 그렇지 않은 경우

설명

이 함수를 재정의하여 OLE 컨트롤 컨테이너에서 반환하는 기본 앰비언트 속성 값을 해당 컨트롤로 변경합니다. 재정의 함수에서 처리되지 않는 모든 앰비언트 속성 요청은 기본 클래스 구현으로 전달되어야 합니다.

CWnd::OnAppCommand

프레임워크는 사용자가 애플리케이션 명령 이벤트를 생성할 때 이 멤버 함수를 호출합니다. 이러한 이벤트는 사용자가 애플리케이션 명령 단추를 클릭하거나 애플리케이션 명령 키를 입력할 때 발생합니다.

afx_msg void OnAppCommand(
    CWnd* pWnd,
    UINT nCmd,
    UINT nDevice,
    UINT nKey);

매개 변수

pWnd
[in] CWnd 사용자가 명령 단추를 클릭하거나 명령 키를 누른 창을 나타내는 개체에 대한 포인터입니다. 이 창은 메시지를 수신하는 창의 자식 창일 수 있습니다.

nCmd
[in] 애플리케이션 명령을 나타냅니다. 가능한 값 목록은 매개 변수 WM_APPCOMMAND섹션 아래 cmdlParam 명령을 참조하세요.

nDevice
[in] 입력 이벤트를 생성한 입력 디바이스입니다. 가능한 값 목록은 매개 변수WM_APPCOMMAND의 섹션 아래에 있는 uDevice 디바이스를 lParam 참조하세요.

nKey
[in] Ctrl 키 또는 왼쪽 마우스 단추와 같이 아래쪽에 있는 가상 키를 나타냅니다. 가능한 값 목록은 매개 변수WM_APPCOMMAND의 섹션 lParam 아래에 있는 dwKeys 키를 참조하세요. 자세한 내용은 마우스 입력 정보에서 "메시지 매개 변수" 부제목을 참조하세요.

설명

이 메서드는 WM_APPCOMMAND Windows SDK에 설명된 알림을 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnAskCbFormatName

클립보드에 형식에 대한 CF_OWNERDISPLAY 데이터 핸들(즉, 클립보드 소유자가 클립보드 콘텐츠를 표시할 때)이 포함된 경우 프레임워크는 이 멤버 함수를 호출합니다.

afx_msg void OnAskCbFormatName(
    UINT nMaxCount,
    LPTSTR lpszString);

매개 변수

nMaxCount
복사할 최대 바이트 수를 지정합니다.

lpszString
형식 이름의 복사본을 저장할 버퍼를 가리킵니다.

설명

클립보드 소유자는 해당 형식의 이름을 제공해야 합니다.

이 멤버 함수를 재정의하고 지정된 최대 바이트 수를 초과하지 않고 형식의 CF_OWNERDISPLAY 이름을 지정된 버퍼에 복사합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnCancelMode

프레임워크는 내부 모드를 취소하도록 알리 CWnd 기 위해 이 멤버 함수를 호출합니다.

afx_msg void OnCancelMode();

설명

개체에 CWnd 포커스 OnCancelMode 가 있으면 대화 상자 또는 메시지 상자가 표시될 때 해당 멤버 함수가 호출됩니다. CWnd 이렇게 하면 마우스 캡처와 같은 모드를 취소할 수 있습니다.

기본 구현은 Windows 함수를 ReleaseCapture 호출하여 응답합니다. 파생 클래스에서 이 멤버 함수를 재정의하여 다른 모드를 처리합니다.

CWnd::OnCaptureChanged

프레임워크는 이 멤버 함수를 호출하여 마우스 캡처가 손실되는 창에 알립니다.

afx_msg void OnCaptureChanged(CWnd* pWnd);

매개 변수

pWnd
마우스 캡처를 얻기 위한 창에 대한 포인터

설명

창은 자신을 호출 ReleaseCapture 하더라도 이 메시지를 받습니다. 애플리케이션이 이 메시지에 대한 응답으로 마우스 캡처를 설정하려고 하면 안 됩니다. 이 메시지를 받으면 필요한 경우 창 자체를 다시 그려 새 마우스 캡처 상태를 반영해야 합니다.

Windows 함수에 대한 자세한 내용은 Windows SDK를 ReleaseCapture 참조하세요.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnChangeCbChain

프레임워크는 클립보드 뷰어 체인의 각 창에 대해 이 멤버 함수를 호출하여 창이 체인에서 제거되고 있음을 알립니다.

afx_msg void OnChangeCbChain(
    HWND hWndRemove,
    HWND hWndAfter);

매개 변수

hWndRemove
클립보드 뷰어 체인에서 제거되는 창 핸들을 지정합니다.

hWndAfter
클립보드 뷰어 체인에서 제거되는 창 뒤에 있는 창 핸들을 지정합니다.

설명

호출을 OnChangeCbChain 받는 각 CWnd 개체는 Windows 함수를 SendMessage 사용하여 클립보드 뷰어 체인(반환된 핸들)의 다음 창으로 SetClipboardViewer메시지를 보내야 WM_CHANGECBCHAIN 합니다. 체인의 다음 창이면 hWndRemove 지정한 hWndAfter 창이 다음 창이 되고 클립보드 메시지가 전달됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnChangeUIState

UI(사용자 인터페이스) 상태를 변경해야 할 때 호출됩니다.

afx_msg void OnChangeUIState(
    UINT nAction,
    UINT nUIElement);

매개 변수

nAction
수행할 작업을 지정합니다. 다음 값 중 하나일 수 있습니다.

  • UIS_CLEAR UI 상태 요소(지정됨 nUIElement)를 숨겨야 합니다.

  • UIS_INITIALIZE 마지막 입력 이벤트에 따라 UI 상태 요소(지정 nUIElement됨)를 변경해야 합니다. 자세한 내용은 의 설명 섹션WM_CHANGEUISTATE 참조하세요.

  • UIS_SET UI 상태 요소(지정됨 nUIElement)가 표시되어야 합니다.

nUIElement
영향을 받는 UI 상태 요소 또는 컨트롤의 스타일을 지정합니다. 다음 값 중 하나일 수 있습니다.

  • UISF_HIDEACCEL 키보드 가속기.

  • UISF_HIDEFOCUS 포커스 표시기.

  • UISF_ACTIVE Windows XP: 활성 컨트롤에 사용되는 스타일로 컨트롤을 그려야 합니다.

설명

이 멤버 함수는 Windows SDK에 WM_CHANGEUISTATE 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CWnd::OnChar

키 입력이 비시스템 문자로 변환되는 경우 프레임워크는 이 멤버 함수를 호출합니다.

afx_msg void OnChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

매개 변수

nChar
키의 문자 코드 값을 포함합니다.

nRepCnt
사용자가 키를 누를 때 키 입력이 반복되는 횟수인 반복 횟수를 포함합니다.

nFlags
다음 목록에 표시된 것처럼 검사 코드, 키 전환 코드, 이전 키 상태 및 컨텍스트 코드를 포함합니다.

의미
0-15 반복 횟수를 지정합니다. 값은 키를 누른 사용자의 결과로 키 입력이 반복되는 횟수입니다.
16-23 검사 코드를 지정합니다. 값은 OEM(원래 장비 제조업체)에 따라 달라집니다.
24 키가 확장된 101 키 또는 102 키 키보드에 표시되는 오른쪽 Alt 키 및 Ctrl 키와 같은 확장 키인지 여부를 지정합니다. 확장 키면 값이 1이고 확장 키가 아니면 0입니다.
25-28 Windows에서 내부적으로 사용됩니다.
29 컨텍스트 코드를 지정합니다. 키를 누른 상태에서 Alt 키를 누르면 값이 1이고 그러지 않으면 0입니다.
30 이전 키 상태를 지정합니다. 메시지가 전송되기 전에 키가 눌려져 있으면 값이 1이고 키가 눌려져 있지 않으면 0입니다.
31 전환 상태를 지정합니다. 키를 놓고 있으면 값이 1이고 키를 누르고 있으면 0입니다.

설명

이 함수는 멤버 함수가 OnKeyUp 호출되기 전과 멤버 함수가 호출된 OnKeyDown 후에 호출됩니다. OnChar 에는 누르거나 놓을 키보드 키의 값이 포함됩니다.

누른 키와 OnChar 생성된 호출 간에 일 대 일 대응이 반드시 있는 것은 아니므로 이 정보는 일반적으로 애플리케이션에 nFlags 유용하지 않습니다. 이 정보는 nFlags 멤버 함수 또는 호출 앞에 오는 멤버 함수에 OnKeyDown 대한 최신 호출 OnKeyUpOnChar에만 적용됩니다.

IBM Enhanced 101 및 102 키 키보드의 경우 고급 키는 키보드의 기본 섹션에 있는 오른쪽 Alt 키와 오른쪽 Ctrl 키, 숫자 키패드의 왼쪽에 있는 클러스터의 INS, DEL, HOME, END, PAGE UP, PAGE DOWN 및 화살표 키, 숫자 키패드의 슬래시(/) 및 ENTER 키입니다. 일부 다른 키보드는 .에서 nFlags확장 키 비트를 지원할 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnCharToItem

스타일이 있는 목록 상자가 LBS_WANTKEYBOARDINPUT 메시지에 대한 응답으로 WM_CHAR 소유자에게 WM_CHARTOITEM 메시지를 보낼 때 호출됩니다.

afx_msg int OnCharToItem(
    UINT nChar,
    CListBox* pListBox,
    UINT nIndex);

매개 변수

nChar
사용자가 누른 키의 값을 지정합니다.

pListBox
목록 상자에 대한 포인터를 지정합니다. 일시적일 수 있습니다.

nIndex
현재 캐리트 위치를 지정합니다.

Return Value

프레임워크는 이 멤버 함수를 호출하여 호출에 대한 응답으로 애플리케이션이 수행한 작업을 지정합니다. 반환 값 -2는 애플리케이션이 항목 선택의 모든 측면을 처리하고 목록 상자에서 더 이상 작업을 수행하지 않음을 나타냅니다. 반환 값 -1은 키 입력에 대한 응답으로 목록 상자가 기본 작업을 수행해야 함을 나타냅니다. 반환 값이 0 이상인 경우 목록 상자에 있는 항목의 인덱스(0부터 시작하는 인덱스)를 지정하고 목록 상자가 지정된 항목의 키 입력에 대한 기본 작업을 수행해야 함을 나타냅니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnChildActivate

개체가 CWnd MDI(다중 문서 인터페이스) 자식 창 OnChildActivate 인 경우 사용자가 창의 제목 표시줄을 클릭하거나 창이 활성화, 이동 또는 크기가 조정될 때 프레임워크에서 호출됩니다.

afx_msg void OnChildActivate();

CWnd::OnChildNotify

이 창에 적용되는 알림 메시지를 받으면 이 창의 부모 창에서 이 멤버 함수를 호출합니다.

virtual BOOL OnChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

매개 변수

message
부모 창으로 전송된 Windows 메시지 번호입니다.

wParam
메시지와 연결된 wparam입니다.

lParam
메시지와 연결된 lparam입니다.

pLResult
부모의 창 프로시저에서 반환할 값에 대한 포인터입니다. 이 포인터는 NULL 반환 값이 필요하지 않은 경우입니다.

Return Value

이 창이 부모에 전송된 메시지를 처리해야 하는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

이 멤버 함수를 직접 호출하지 마세요.

이 멤버 함수의 기본 구현은 0을 반환합니다. 즉, 부모가 메시지를 처리해야 합니다.

컨트롤이 알림 메시지에 응답하는 방식을 확장하도록 이 멤버 함수를 재정의합니다.

CWnd::OnClipboardUpdate

클립보드의 내용이 변경되면 프레임워크에서 이 멤버 함수를 호출합니다.

afx_msg void OnClipboardUpdate();

CWnd::OnClose

프레임워크는 이 멤버 함수를 애플리케이션이 CWnd 종료된다는 신호로 호출합니다.

afx_msg void OnClose();

설명

기본 구현은 .를 호출합니다 DestroyWindow.

CWnd::OnColorizationColorChanged

비클라이언트 영역에 대한 렌더링 정책이 변경되면 프레임워크에서 이 멤버를 호출합니다.

afx_msg void OnColorizationColorChanged(
    DWORD dwColorizationColor,
    BOOL bOpacity);

매개 변수

dwColorizationColor
[in] 새 색 지정 색을 지정합니다. 색 형식은 0xAARRGGBB 형식의 16진수이며, 네 가지 구성 요소의 범위는 각각 0x00부터 0xFF. AA 구성 요소는 알파 값, RR은 빨간색, GG는 녹색, BB는 파란색입니다.

bOpacity
[in] TRUE 새 색이 불투명도와 혼합되면 이고, FALSE 그렇지 않으면

설명

이 메서드는 WM_DWMNCRENDERINGCHANGED Windows SDK에 설명된 알림 메시지를 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnCommand

프레임워크는 사용자가 메뉴에서 항목을 선택하거나, 자식 컨트롤이 알림 메시지를 보내거나, 액셀러레이터 키 입력이 번역될 때 이 멤버 함수를 호출합니다.

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

매개 변수

wParam
하위 단어 wParam 는 메뉴 항목, 컨트롤 또는 액셀러레이터의 명령 ID를 식별합니다. 상위 단어 wParam 는 메시지가 컨트롤에서 온 경우 알림 메시지를 지정합니다. 메시지가 액셀러레이터에서 온 경우 상위 단어는 1입니다. 메뉴의 메시지가 있으면 상위 단어는 0입니다.

lParam
메시지가 컨트롤에서 온 경우 메시지를 보내는 컨트롤을 식별합니다. 그렇지 않으면 lParam 0입니다.

Return Value

애플리케이션이 이 메시지를 처리하는 경우 0이 아닌 값을 반환합니다. 그렇지 않으면 0입니다.

설명

OnCommand 는 컨트롤 알림 및 ON_COMMAND 항목에 대한 메시지 맵을 처리하고 적절한 멤버 함수를 호출합니다.

메시지를 처리하도록 파생 클래스에서 이 멤버 함수를 재정의합니다 WM_COMMAND . 재정의는 기본 클래스 OnCommand 가 호출되지 않는 한 메시지 맵을 처리하지 않습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnCompacting

Windows에서 30~60초 간격 동안 시스템 시간의 12.5% 이상이 메모리 압축에 소요되는 것을 감지하면 프레임워크는 모든 최상위 창에 대해 이 멤버 함수를 호출합니다.

afx_msg void OnCompacting(UINT nCpuTime);

매개 변수

nCpuTime
Windows에서 메모리를 압축하는 데 현재 소요된 CPU 시간과 다른 작업을 수행하는 데 소요된 CPU 시간의 비율을 지정합니다. 예를 들어 8000h는 메모리 압축에 소요된 CPU 시간의 50%를 나타냅니다.

설명

이는 시스템 메모리가 낮다는 것을 나타냅니다.

개체가 이 호출을 CWnd 받으면 애플리케이션의 현재 활동 수준과 Windows에서 실행되는 총 애플리케이션 수를 고려하여 가능한 한 많은 메모리를 확보해야 합니다. 애플리케이션은 Windows 함수를 호출하여 실행 중인 애플리케이션 수를 확인할 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnCompareItem

프레임워크는 이 멤버 함수를 호출하여 자식 정렬된 소유자 그리기 콤보 또는 목록 상자에서 새 항목의 상대 위치를 지정합니다.

afx_msg int OnCompareItem(
    int nIDCtl,
    LPCOMPAREITEMSTRUCT lpCompareItemStruct);

매개 변수

nIDCtl
메시지를 보낸 컨트롤의 식별자입니다 WM_COMPAREITEM .

lpCompareItemStruct
콤보 또는 목록 상자의 두 항목에 COMPAREITEMSTRUCT 대한 식별자와 애플리케이션 제공 데이터를 포함하는 데이터 구조에 대한 긴 포인터를 포함합니다.

Return Value

두 항목의 상대 위치를 나타냅니다. 다음 값 중 어느 것이든 될 수 있습니다.

의미
-1 항목 1은 항목 2 앞에 정렬합니다.
0 항목 1과 항목 2는 동일하게 정렬합니다.
1 항목 1은 항목 2를 기준으로 정렬합니다.

설명

또는 LBS_SORT 스타일을 사용하여 콤보 또는 목록 상자를 만든 CBS_SORT 경우 응용 프로그램에서 새 항목을 추가할 때마다 Windows에서 콤보 상자 또는 목록 상자 소유자에게 WM_COMPAREITEM 메시지를 보냅니다.

콤보 또는 목록 상자의 두 항목은 을 가리키는 lpCompareItemStruct구조로 COMPAREITEMSTRUCT 다시 포맷됩니다. OnCompareItem 는 다른 항목 앞에 표시되어야 하는 항목을 나타내는 값을 반환해야 합니다. 일반적으로 Windows는 새 항목의 정확한 위치를 결정할 때까지 이 호출을 여러 번 수행합니다.

구조체의 멤버가 COMPAREITEMSTRUCThwndItem a CListBox 또는 CComboBox object CompareItem 에 속하는 경우 적절한 클래스의 가상 함수가 호출됩니다. 재정의 CComboBox::CompareItem 하거나 CListBox::CompareItem 파생 CListBox 또는 CComboBox 클래스에서 항목 비교를 수행합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnCompositionChanged

프레임워크는 DWM(데스크톱 창 관리자) 컴퍼지션을 사용하거나 사용하지 않도록 설정할 때 모든 최상위 창에 대해 이 멤버 함수를 호출합니다.

afx_msg void OnCompositionChanged();

설명

이 메서드는 WM_DWMCOMPOSITIONCHANGED Windows SDK에 설명된 알림을 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnContextMenu

사용자가 창에서 마우스 오른쪽 단추(마우스 오른쪽 클릭)를 클릭했을 때 프레임워크에서 호출됩니다.

afx_msg void OnContextMenu(
    CWnd* pWnd,
    CPoint pos);

매개 변수

pWnd
사용자가 마우스를 마우스 오른쪽 단추로 클릭한 창에 대한 핸들입니다. 메시지를 수신하는 창의 자식 창일 수 있습니다. 이 메시지 처리에 대한 자세한 내용은 설명 섹션을 참조하세요.

pos
마우스 클릭 시 화면 좌표에서 커서의 위치입니다.

설명

를 사용하여 상황에 맞는 메뉴를 표시하여 이 메시지를 처리할 TrackPopupMenu수 있습니다.

상황에 맞는 메뉴를 표시하지 않으면 이 메시지를 함수에 DefWindowProc 전달해야 합니다. 창이 자식 창 DefWindowProc 인 경우 부모에게 메시지를 보냅니다. 그렇지 않으면 DefWindowProc 지정된 위치가 창의 캡션 있는 경우 기본 상황에 맞는 메뉴를 표시합니다.

CWnd::OnCopyData

이 멤버 함수는 한 애플리케이션에서 다른 애플리케이션으로 데이터를 복사하기 위해 프레임워크에서 호출됩니다.

afx_msg BOOL OnCopyData(
    CWnd* pWnd,
    COPYDATASTRUCT* pCopyDataStruct);

매개 변수

pWnd
데이터를 보내는 개체에 대한 CWnd 포인터입니다.

pCopyDataStruct
전송되는 데이터가 포함된 구조체에 대한 포인터 COPYDATASTRUCT 입니다.

Return Value

수신 애플리케이션이 데이터를 성공적으로 수락했는지를 반환 TRUE 합니다. 그렇지 않으면 FALSE을(를) 반환합니다.

설명

전달되는 데이터에는 데이터를 수신하는 애플리케이션에서 액세스할 수 없는 개체에 대한 포인터 또는 기타 참조가 포함되어서는 안 됩니다.

데이터를 복사하는 동안 전송 프로세스의 다른 스레드에서 데이터를 변경해서는 안 됩니다.

수신 애플리케이션은 데이터를 읽기 전용으로 고려해야 합니다. 매개 변수 pCopyDataStruct 가 가리키는 구조는 데이터를 전송하는 동안에만 유효합니다. 그러나 수신 애플리케이션은 구조와 연결된 메모리를 해제해서는 안 됩니다.

수신 애플리케이션이 이 함수가 반환된 후 데이터에 액세스해야 하는 경우 수신된 데이터를 로컬 버퍼에 복사해야 합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnCreate

프레임워크는 애플리케이션이 또는 CreateEx 멤버 함수를 호출하여 Windows 창을 만들 것을 요청할 때 이 멤버 함수를 Create 호출합니다.

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

매개 변수

lpCreateStruct
CREATESTRUCT 생성되는 개체에 대한 CWnd 정보가 포함된 구조를 가리킵니다.

Return Value

OnCreate 개체를 계속 만들려면 0을 CWnd 반환해야 합니다. 애플리케이션이 -1을 반환하면 창이 제거됩니다.

설명

개체는 CWnd 창이 만들어진 후 표시되기 전에 이 호출을 받습니다. OnCreate는 또는 CreateEx 멤버 함수가 Create 반환되기 전에 호출됩니다.

파생 클래스의 필요한 초기화를 수행하려면 이 멤버 함수를 재정의합니다.

구조체에는 CREATESTRUCT 창을 만드는 데 사용되는 매개 변수의 복사본이 포함됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnCtlColor

자식 컨트롤을 그릴 때 프레임워크에서 이 멤버 함수를 호출합니다.

afx_msg HBRUSH OnCtlColor(
    CDC* pDC,
    CWnd* pWnd,
    UINT nCtlColor);

매개 변수

pDC
자식 창의 표시 컨텍스트에 대한 포인터를 포함합니다. 일시적일 수 있습니다.

pWnd
색을 요청하는 컨트롤에 대한 포인터를 포함합니다. 일시적일 수 있습니다.

nCtlColor
컨트롤 형식을 지정하는 다음 값 중 하나를 포함합니다.

  • CTLCOLOR_BTN 단추 컨트롤

  • CTLCOLOR_DLG 대화 상자

  • CTLCOLOR_EDIT 컨트롤 편집

  • CTLCOLOR_LISTBOX 목록 상자 컨트롤

  • CTLCOLOR_MSGBOX 메시지 상자

  • CTLCOLOR_SCROLLBAR 스크롤 막대 컨트롤

  • CTLCOLOR_STATIC 정적 컨트롤

Return Value

OnCtlColor 컨트롤 배경을 그리는 데 사용할 브러시에 핸들을 반환해야 합니다.

설명

대부분의 컨트롤은 올바른 색을 사용하여 컨트롤을 그리기 위해 준비하기 pDC 위해 부모(일반적으로 대화 상자)에게 이 메시지를 보냅니다.

텍스트 색을 변경하려면 원하는 빨강, 녹색 및 파랑(RGB) 값을 사용하여 멤버 함수를 호출 SetTextColor 합니다.

한 줄 편집 컨트롤의 배경색을 변경하려면 코드와 CTLCOLOR_MSGBOX 메시지 코드 모두에서 브러시 핸들을 CTLCOLOR_EDIT 설정하고 코드에 대한 응답으로 함수를 CTLCOLOR_EDIT 호출 CDC::SetBkColor 합니다.

OnCtlColor 는 드롭다운 목록 상자가 실제로 창의 자식이 아닌 콤보 상자의 자식이므로 드롭다운 콤보 상자의 목록 상자에 대해 호출되지 않습니다. 드롭다운 목록 상자의 색을 변경하려면 매개 변수에서 해당 검사 재정의 OnCtlColor 를 사용하여 nCtlColorCTLCOLOR_LISTBOX 만듭니 CComboBox 다. 이 처리기에서 멤버 함수를 SetBkColor 사용하여 텍스트의 배경색을 설정해야 합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다. 대화 상자 클래스에 다음 메서드를 추가하려면 Visual Studio 속성 창을 사용하여 메시지 처리기를 WM_CTLCOLOR추가합니다. 또는 메시지 맵에 ON_WM_CTLCOLOR() 항목을 수동으로 추가할 수 있습니다.

예시

// This OnCtlColor handler will change the color of a static control
// with the ID of IDC_MYSTATIC. The code assumes that the CPenWidthsDlg
// class has an initialized and created CBrush member named m_brush.
// The control will be painted with red text and a background
// color of m_brush.
HBRUSH CPenWidthsDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
   // Call the base class implementation first! Otherwise, it may
   // undo what we're trying to accomplish here.
   HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

   // Are we painting the IDC_MYSTATIC control? We can use
   // CWnd::GetDlgCtrlID() to perform the most efficient test.
   if (pWnd->GetDlgCtrlID() == IDC_MYSTATIC)
   {
      // Set the text color to red
      pDC->SetTextColor(RGB(255, 0, 0));

      // Set the background mode for text to transparent 
      // so background will show thru.
      pDC->SetBkMode(TRANSPARENT);

      // Return handle to our CBrush object
      hbr = m_brush;
   }

   return hbr;
}

CWnd::OnDeadChar

멤버 함수와 멤버 함수가 OnKeyUp 호출되면 프레임워크에서 OnKeyDown 이 멤버 함수를 호출합니다.

afx_msg void OnDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

매개 변수

nChar
배달 못 한 키 문자 값을 지정합니다.

nRepCnt
반복 횟수를 지정합니다.

nFlags
다음 목록에 표시된 것처럼 검사 코드, 키 전환 코드, 이전 키 상태 및 컨텍스트 코드를 지정합니다.

설명
0-7 스캔 코드(OEM 종속 값). 상위 단어의 낮은 바이트입니다.
8 함수 키 또는 숫자 키패드의 키와 같은 확장 키(확장 키인 경우 1, 그렇지 않으면 0).
9-10 사용되지 않습니다.
11-12 Windows에서 내부적으로 사용됩니다.
13 컨텍스트 코드(키를 누른 상태에서 Alt 키를 누른 경우 1이고, 그렇지 않으면 0).
14 이전 키 상태(키가 호출 전에 다운된 경우 1, 키가 위쪽인 경우 0).
15 전환 상태(키가 해제되는 경우 1, 키를 누르고 있는 경우 0).

설명

이 멤버 함수를 사용하여 데드 키의 문자 값을 지정할 수 있습니다. 데드 키는 복합 문자를 형성하기 위해 다른 문자와 결합되는 움라우트(이중 점) 문자와 같은 키입니다. 예를 들어 umlaut-O 문자는 데드 키, 움라우트 및 O 키로 구성됩니다.

애플리케이션은 일반적으로 누른 각 키에 대한 사용자 피드백을 제공하는 데 사용합니다 OnDeadChar . 예를 들어 애플리케이션은 캐럿을 이동하지 않고 현재 문자 위치에 악센트를 표시할 수 있습니다.

누른 키와 OnDeadChar 호출 간에 일대일 대응이 반드시 있는 것은 아니므로 이 정보는 일반적으로 애플리케이션에 nFlags 유용하지 않습니다. 이 정보는 nFlags 멤버 함수 또는 호출 앞에 오는 멤버 함수에 OnKeyUp 대한 최신 호출에 OnKeyDownOnDeadChar 만 적용됩니다.

IBM Enhanced 101 및 102 키 키보드의 경우 고급 키는 키보드의 기본 섹션에 있는 오른쪽 Alt 키와 오른쪽 Ctrl 키, 숫자 키패드의 왼쪽에 있는 클러스터의 INS, DEL, HOME, END, PAGE UP, PAGE DOWN 및 화살표 키, 숫자 키패드의 슬래시(/) 및 ENTER 키입니다. 일부 다른 키보드는 .에서 nFlags확장 키 비트를 지원할 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnDeleteItem

프레임워크는 이 멤버 함수를 호출하여 소유자에게 목록 상자 또는 콤보 상자가 제거되거나 항목이 제거되었음을 CComboBox::DeleteStringCListBox::DeleteStringCComboBox::ResetContentCListBox::ResetContent소유자에게 알립니다.

afx_msg void OnDeleteItem(
    int nIDCtl,
    LPDELETEITEMSTRUCT lpDeleteItemStruct);

매개 변수

nIDCtl
메시지를 보낸 컨트롤의 식별자입니다 WM_DELETEITEM .

lpDeleteItemStruct
삭제된 목록 상자 항목에 DELETEITEMSTRUCT 대한 정보를 포함하는 데이터 구조에 대한 긴 포인터를 지정합니다.

설명

구조체의 멤버가 hwndItemDELETEITEMSTRUCT 콤보 상자 또는 목록 상자에 DeleteItem 속하는 경우 적절한 클래스의 가상 함수가 호출됩니다. 적절한 컨트롤 클래스의 멤버 함수를 재정 DeleteItem 의하여 항목별 데이터를 삭제합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnDestroy

프레임워크는 이 멤버 함수를 호출하여 삭제 중임을 개체에 알릴 CWnd 수 있습니다.

afx_msg void OnDestroy();

설명

OnDestroy 는 개체가 CWnd 화면에서 제거된 후 호출됩니다.

OnDestroy 는 먼저 CWnd 소멸된 자식 창 CWnd 에 대해 호출됩니다. 실행하는 동안 모든 자식 창이 여전히 존재한다고 OnDestroy 가정할 수 있습니다.

CWnd 제거되는 개체가 클립보드 뷰어 체인의 일부인 경우(멤버 함수를 호출 SetClipboardViewer 하여 설정) CWnd 함수에서 반환하기 전에 멤버 함수를 호출 ChangeClipboardChain 하여 클립보드 뷰어 체인에서 OnDestroy 자신을 제거해야 합니다.

CWnd::OnDestroyClipboard

프레임워크는 Windows 함수 호출을 통해 클립보드를 비울 때 클립보드 소유자에 대해 이 멤버 함수를 EmptyClipboard 호출합니다.

afx_msg void OnDestroyClipboard();

CWnd::OnDeviceChange

프레임워크는 이 멤버 함수를 호출하여 애플리케이션 또는 디바이스 드라이버에 디바이스 또는 컴퓨터의 하드웨어 구성 변경 사항을 알립니다.

afx_msg BOOL OnDeviceChange(
    UINT nEventType,
    DWORD_PTR dwData);

매개 변수

nEventType
이벤트 유형입니다. 사용 가능한 값에 대한 설명은 설명 섹션을 참조하세요.

dwData
이벤트별 데이터를 포함하는 구조체의 주소입니다. 해당 의미는 지정된 이벤트에 따라 달라집니다.

설명

배출 및 잠금과 같은 소프트웨어 제어 기능을 제공하는 디바이스의 경우 운영 체제는 일반적으로 애플리케이션 및 디바이스 드라이버가 디바이스 사용을 정상적으로 종료할 수 있도록 메시지를 보냅니 DBT_DEVICEREMOVEPENDING 다.

운영 체제에서 강제로 디바이스를 제거하는 경우, 이렇게 하기 전에 메시지를 보내지 DBT_DEVICEQUERYREMOVE 않을 수 있습니다.

매개 변수는 nEvent 다음 값 중 하나일 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnDevModeChange

프레임워크는 사용자가 디바이스 모드 설정을 변경할 때 모든 최상위 CWnd 개체에 대해 이 멤버 함수를 호출합니다.

afx_msg void OnDevModeChange(LPTSTR lpDeviceName);

매개 변수

lpDeviceName
Windows 초기화 파일에 WIN.INI지정된 디바이스 이름을 가리킵니다.

설명

메시지를 처리하는 애플리케이션은 WM_DEVMODECHANGE 디바이스 모드 설정을 다시 초기화할 수 있습니다. Windows ExtDeviceMode 함수를 사용하여 디바이스 설정을 저장하고 복원하는 애플리케이션은 일반적으로 이 함수를 처리하지 않습니다.

이 함수는 사용자가 기본 프린터를 제어판 변경할 때 호출되지 않습니다. 이 경우 함수가 OnWinIniChange 호출됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnDrawClipboard

클립보드의 내용이 변경되면 프레임워크는 클립보드 뷰어 체인의 각 창에 대해 이 멤버 함수를 호출합니다.

afx_msg void OnDrawClipboard();

설명

멤버 함수를 호출 SetClipboardViewer 하여 클립보드 뷰어 체인에 가입한 애플리케이션만 이 호출에 응답해야 합니다.

호출을 OnDrawClipboard 받는 각 창은 Windows 함수를 호출 SendMessage 하여 클립보드 뷰어 체인의 다음 창에 메시지를 전달 WM_DRAWCLIPBOARD 해야 합니다. 다음 창의 핸들은 멤버 함수에 SetClipboardViewer 의해 반환되며 멤버 함수 호출에 OnChangeCbChain 대한 응답으로 수정될 수 있습니다.

CWnd::OnDrawIconicThumbnailOrLivePreview

Windows 7 탭 미리 보기 또는 애플리케이션 피킹(Peeking)용 클라이언트에 표시할 비트맵을 가져와야 하는 경우 프레임워크에서 호출됩니다.

virtual void OnDrawIconicThumbnailOrLivePreview(
    CDC& dc,
    CRect rect,
    CSize szRequiredThumbnailSize,
    BOOL bIsThumbnail,
    BOOL& bAlphaChannelSet);

매개 변수

dc
디바이스 컨텍스트를 지정합니다.

rect
렌더링할 영역의 경계 사각형을 지정합니다.

szRequiredThumbnailSize
대상 축소판 그림의 크기를 지정합니다. 이FALSEbIsThumbnail 무시해야 합니다.

bIsThumbnail
이 메서드가 아이콘 썸네일 또는 라이브 미리 보기(미리 보기)에 대해 호출되는지 여부를 지정합니다.

bAlphaChannelSet
[out] 구현에서 TRUE 선택한 dc비트맵의 알파 채널을 초기화하는 경우로 설정합니다.

설명

썸네일을 사용자 지정하고 피킹하기 위해 파생 클래스에서 이 메서드를 재정의하고 지정된 디바이스 컨텍스트에 그립니다. 이 TRUEszRequiredThumbnailSize 경우 bThumbnail 무시할 수 있습니다. 이 경우 전체 크기의 비트맵(즉, 전체 클라이언트 영역을 포함하는 비트맵)을 그립니다. 디바이스 컨텍스트(dc)는 선택한 32비트 비트맵과 함께 제공됩니다. 기본 구현은 플래그 PRF_CHILDRENPRF_NONCLIENT 와 함께 이 창으로 PRF_CLIENT전송됩니다WM_PRINT.

CWnd::OnDrawItem

프레임워크는 컨트롤 또는 메뉴의 시각적 측면이 변경된 경우 소유자 그리기 단추 컨트롤, 콤보 상자 컨트롤, 목록 상자 컨트롤 또는 메뉴의 소유자에 대해 이 멤버 함수를 호출합니다.

afx_msg void OnDrawItem(
    int nIDCtl,
    LPDRAWITEMSTRUCT lpDrawItemStruct);

매개 변수

nIDCtl
메시지를 보낸 WM_DRAWITEM 컨트롤의 식별자를 포함합니다. 메뉴가 메시지를 nIDCtl 보낸 경우 0이 포함됩니다.

lpDrawItemStruct
그릴 항목 및 필요한 그리기 유형에 대한 정보가 들어 있는 데이터 구조에 대한 긴 포인터 DRAWITEMSTRUCT 를 지정합니다.

설명

구조체의 DRAWITEMSTRUCT 멤버는 itemAction 수행할 그리기 작업을 정의합니다. 이 멤버의 데이터를 사용하면 컨트롤 소유자가 필요한 그리기 작업을 결정할 수 있습니다.

이 메시지 처리에서 반환하기 전에 애플리케이션은 구조체의 DRAWITEMSTRUCT 멤버로 hDC 식별된 디바이스 컨텍스트가 기본 상태로 복원되도록 해야 합니다.

멤버가 hwndItem , CMenu, CListBox또는 CComboBox 개체 DrawItemCButton속하는 경우 해당 클래스의 가상 함수가 호출됩니다. 적절한 컨트롤 클래스의 멤버 함수를 재정 DrawItem 의하여 항목을 그립니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnDropFiles

프레임워크는 사용자가 삭제된 파일의 수신자로 등록된 창 위에 마우스 왼쪽 단추를 놓을 때 이 멤버 함수를 호출합니다.

afx_msg void OnDropFiles(HDROP hDropInfo);

매개 변수

hDropInfo
삭제된 파일을 설명하는 내부 데이터 구조에 대한 포인터입니다. 이 핸들은 삭제된 DragFinish파일에 대한 정보를 검색하기 위해 , DragQueryFileDragQueryPoint Windows 함수에서 사용됩니다.

설명

일반적으로 파생 클래스는 삭제된 파일을 지원하도록 설계되며 창 생성 중에 자체적으로 등록됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnEnable

애플리케이션이 개체의 사용 상태를 변경할 때 프레임워크는 이 멤버 함수를 CWnd 호출합니다.

afx_msg void OnEnable(BOOL bEnable);

매개 변수

bEnable
개체의 CWnd 사용 여부를 지정합니다. 이 매개 변수는 TRUE 활성화된 경우 CWnd 이며 사용하지 않도록 설정된 경우 CWnd 입니다FALSE.

설명

OnEnable 는 멤버 함수가 반환되기 EnableWindow 전에 호출되지만 창 사용 상태(WS_DISABLED 스타일 비트)가 변경된 후에 호출됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnEndSession

개체가 멤버 함수 호출에서 0이 아닌 값을 반환한 후 CWnd 프레임워크에서 이 멤버 함수를 OnQueryEndSession 호출합니다.

afx_msg void OnEndSession(BOOL bEnding);

매개 변수

bEnding
세션이 종료되는지 여부를 지정합니다. 세션이 TRUE 종료되는 경우이고, 그렇지 않으면 FALSE.

설명

이 호출은 OnEndSession 세션이 CWnd 실제로 종료되는지 여부를 개체에 알릴 수 있습니다.

TRUE경우 bEnding 모든 애플리케이션이 이 호출 처리에서 반환된 후 언제든지 Windows를 종료할 수 있습니다. 따라서 애플리케이션에서 종료 OnEndSession에 필요한 모든 작업을 수행합니다.

세션이 DestroyWindow 종료되면 멤버 함수 또는 PostQuitMessage Windows 함수를 호출할 필요가 없습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnEnterIdle

프레임워크는 이 멤버 함수를 호출하여 모달 대화 상자 또는 메뉴가 유휴 상태로 전환되고 있음을 애플리케이션의 기본 창 프로시저에 알립니다.

afx_msg void OnEnterIdle(
    UINT nWhy,
    CWnd* pWho);

매개 변수

nWhy
메시지가 대화 상자의 결과인지 또는 표시되는 메뉴인지를 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

  • MSGF_DIALOGBOX 대화 상자가 표시되기 때문에 시스템이 유휴 상태입니다.

  • MSGF_MENU 메뉴가 표시되기 때문에 시스템이 유휴 상태입니다.

pWho
대화 상자(있는 경우) 또는 표시된 메뉴(있는 경우 nWhyMSGF_DIALOGBOXnWhyMSGF_MENU)가 포함된 창에 대한 포인터를 지정합니다. 이 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

하나 이상의 이전 메시지를 처리한 후 큐에서 대기 중인 메시지가 없는 경우 모달 대화 상자 또는 메뉴가 유휴 상태로 전환됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnEnterMenuLoop

프레임워크는 메뉴 모달 루프를 입력할 때 이 멤버 함수를 호출합니다.

afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);

매개 변수

bIsTrackPopupMenu
관련된 메뉴가 팝업 메뉴인지 여부를 지정합니다. 함수가 성공하면 0이 아닌 값이 있습니다. 그렇지 않으면 0입니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnEnterSizeMove

프레임워크는 영향을 받는 창이 이동 또는 크기 조정 모달 루프에 들어간 후 이 멤버 함수를 한 번 호출합니다.

afx_msg void OnEnterSizeMove();

설명

이 메서드는 WM_ENTERSIZEMOVE Windows SDK에 설명된 알림을 받습니다.

사용자가 창의 제목 표시줄 또는 크기 조정 테두리를 클릭하거나 창이 메시지를 함수에 전달 WM_SYSCOMMAND 하고 해당 메시지 CWnd::DefWindowProc 의 wParam 매개 변수가 지정 SC_MOVE 하거나 지정하는 경우 창이 이동 또는 SC_SIZE크기 조정 모달 루프로 들어갑니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnEraseBkgnd

프레임워크는 개체 배경이 CWnd 지워야 할 때(예: 크기 조정 시) 이 멤버 함수를 호출합니다.

afx_msg BOOL OnEraseBkgnd(CDC* pDC);

매개 변수

pDC
디바이스 컨텍스트 개체를 지정합니다.

Return Value

0이 아닌 경우 배경이 지워집니다. 그렇지 않으면 0입니다.

설명

그리기 위해 무효화된 영역을 준비하기 위해 호출됩니다.

기본 구현 창 클래스 구조의 멤버에 의해 지정 된 창 클래스 배경 브러시를 hbrBackground 사용 하 여 배경을 지웁니다.

멤버인 NULL경우 재정의 hbrBackgroundOnEraseBkgnd 된 버전의 배경색이 지워집니다. 또한 먼저 브러시를 호출 UnrealizeObject 한 다음 브러시를 선택하여 원하는 브러시 CWnd 의 원점과 좌표를 정렬해야 합니다.

재정의된 OnEraseBkgnd 경우 메시지를 처리하고 배경을 지우는 경우 0 WM_ERASEBKGND 이 아닌 값을 반환해야 합니다. 이는 더 이상 지울 필요가 없음을 나타냅니다. 0을 반환하면 창이 다시 기본 지워져야 하는 것으로 표시됩니다. (일반적으로 이는 구조체의 PAINTSTRUCT 멤버가 fErase .)임을 TRUE의미합니다.

Windows에서는 배경이 매핑 모드로 MM_TEXT 계산된다고 가정합니다. 디바이스 컨텍스트가 다른 매핑 모드를 사용하는 경우 지워진 영역이 클라이언트 영역의 표시되는 부분 내에 있지 않을 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnExitMenuLoop

프레임워크는 메뉴 모달 루프가 종료될 때 이 멤버 함수를 호출합니다.

afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);

매개 변수

bIsTrackPopupMenu
관련된 메뉴가 팝업 메뉴인지 여부를 지정합니다. 함수가 성공하면 0이 아닌 값이 있습니다. 그렇지 않으면 0입니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnExitSizeMove

프레임워크는 영향을 받는 창이 이동 또는 크기 조정 모달 루프를 종료한 후 이 멤버 함수를 한 번 호출합니다.

afx_msg void OnExitSizeMove();

설명

이 메서드는 WM_EXITSIZEMOVE Windows SDK에 설명된 알림을 받습니다.

사용자가 창의 제목 표시줄 또는 크기 조정 테두리를 클릭하거나 창이 메시지를 함수에 전달 WM_SYSCOMMAND 하고 해당 메시지 CWnd::DefWindowProc 의 매개 변수가 지정 SC_MOVE 하거나 지정하는 경우 창이 이동 또는 SC_SIZE크기 조정 모달 루프 wParam 로 들어갑니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnFontChange

애플리케이션이 글꼴 리소스 풀을 변경한 OnFontChange 후 시스템의 모든 최상위 창이 프레임워크에서 호출을 받습니다.

afx_msg void OnFontChange();

설명

시스템에서 글꼴을 추가하거나 제거하는 애플리케이션(예: Windows 함수를 통해 AddFontResourceRemoveFontResource )은 모든 최상위 창에 메시지를 보내야 WM_FONTCHANGE 합니다.

이 메시지를 보내려면 매개 변수가 SendMessage 로 설정된 Windows 함수를 hWndHWND_BROADCAST사용합니다.

CWnd::OnGetDlgCode

컨트롤에서 화살표 키 및 Tab 키 입력 자체를 처리할 수 있도록 컨트롤에 대해 호출됩니다.

afx_msg UINT OnGetDlgCode();

Return Value

애플리케이션이 처리하는 입력 유형을 나타내는 다음 값 중 하나 이상입니다.

  • DLGC_BUTTON 단추(제네릭).

  • DLGC_DEFPUSHBUTTON 기본 푸시버튼입니다.

  • DLGC_HASSETSELEM_SETSEL 메시지.

  • DLGC_UNDEFPUSHBUTTON 기본 푸시버튼 처리가 없습니다. (애플리케이션은 이 플래그를 DLGC_BUTTON 사용하여 단추 입력을 처리하지만 기본 푸시버튼 처리를 위해 시스템에 의존함을 나타낼 수 있습니다.)

  • DLGC_RADIOBUTTON 라디오 단추입니다.

  • DLGC_STATIC 정적 컨트롤입니다.

  • DLGC_WANTALLKEYS 모든 키보드 입력.

  • DLGC_WANTARROWS 화살표 키입니다.

  • DLGC_WANTCHARSWM_CHAR 메시지.

  • DLGC_WANTMESSAGE 모든 키보드 입력. 애플리케이션이 이 메시지를 컨트롤에 전달합니다.

  • DLGC_WANTTAB TAB 키입니다.

설명

일반적으로 Windows는 컨트롤에 대한 모든 화살표 키 및 TAB 키 입력을 CWnd 처리합니다. 컨트롤은 재정의하여 OnGetDlgCodeCWnd 특정 유형의 입력을 선택하여 자체 처리할 수 있습니다.

미리 정의된 컨트롤 클래스의 기본 OnGetDlgCode 함수는 각 클래스에 적합한 코드를 반환합니다.

CWnd::OnGetMinMaxInfo

프레임워크는 Windows에서 최대화된 위치 또는 차원 또는 최소 또는 최대 추적 크기를 알아야 할 때마다 이 멤버 함수를 호출합니다.

afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);

매개 변수

lpMMI
MINMAXINFO 창의 최대 크기 및 위치와 최소 및 최대 추적 크기에 대한 정보가 포함된 구조를 가리킵니다. 이 구조에 대한 자세한 내용은 구조를 참조하세요 MINMAXINFO .

설명

최대 크기는 테두리가 완전히 확장될 때 창의 크기입니다. 창의 최대 추적 크기는 테두리를 사용하여 창 크기를 조정하여 달성할 수 있는 가장 큰 창 크기입니다. 창의 최소 추적 크기는 테두리를 사용하여 창 크기를 조정하여 달성할 수 있는 가장 작은 창 크기입니다.

Windows는 다양한 위치 및 차원에 대한 기본값을 지정하는 점 배열을 채웁니다. 애플리케이션에서 이러한 값을 OnGetMinMaxInfo변경할 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnHelp

현재 컨텍스트를 사용하여 애플리케이션 내에서 F1 도움말을 처리합니다.

afx_msg void OnHelp();

설명

자세한 내용은 CWinApp::OnHelp 을 참조하세요.

CWnd::OnHelpFinder

ID_HELP_FINDERID_DEFAULT_HELP 명령을 처리합니다.

afx_msg void OnHelpFinder();

설명

자세한 내용은 CWinApp::OnHelpFinder 을 참조하세요.

CWnd::OnHelpIndex

ID_HELP_INDEX 명령을 처리하고 기본 도움말 항목을 제공합니다.

afx_msg void OnHelpIndex();

설명

자세한 내용은 CWinApp::OnHelpIndex 을 참조하세요.

CWnd::OnHelpInfo

사용자가 F1 키를 누를 때 프레임워크에서 호출됩니다.

afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);

매개 변수

lpHelpInfo
도움말이 HELPINFO 요청되는 메뉴 항목, 컨트롤, 대화 상자 또는 창에 대한 정보가 들어 있는 구조체에 대한 포인터입니다.

Return Value

창에 키보드 포커스가 있거나 창 내에서 메뉴가 활성화되어 있는지 여부를 반환 TRUE 합니다. 키보드 포커스가 있는 창이 없으면 .FALSE

설명

F1 키를 누 WM_HELP 를 때 메뉴가 활성화되면 메뉴와 연결된 창으로 전송되고, WM_HELP 그렇지 않으면 키보드 포커스가 있는 창으로 전송됩니다. 키보드 포커스 WM_HELP 가 있는 창이 없으면 현재 활성 창으로 전송됩니다.

CWnd::OnHelpUsing

명령을 처리합니다 ID_HELP_USING .

afx_msg void OnHelpUsing();

설명

자세한 내용은 CWinApp::OnHelpUsing 을 참조하세요.

CWnd::OnHotKey

프레임워크는 사용자가 시스템 전체 핫 키를 누를 때 이 멤버 함수를 호출합니다.

afx_msg void OnHotKey(
    UINT nHotKeyId,
    UINT nKey1,
    UINT nKey2);

매개 변수

nHotKeyId
[in] 메시지를 생성한 핫 키의 식별자입니다. 시스템 정의 핫 키에서 메시지를 생성한 경우 이 매개 변수는 다음 값 중 하나가 됩니다.

  • IDHOT_SNAPDESKTOP - 스냅 데스크톱 핫 키를 눌렀습니다.
  • IDHOT_SNAPWINDOW - 스냅 창 핫 키를 눌렀습니다.

nKey1
[in] 매개 변수로 지정된 nKey2 키와 함께 누른 키를 나타내는 플래그의 비트 조합(OR)입니다. 가능한 값은 다음과 같습니다.

  • MOD_ALT - ALT 키를 누른 상태였습니다.
  • MOD_CONTROL - Ctrl 키를 누른 상태로 유지되었습니다.
  • MOD_SHIFT - SHIFT 키를 누른 상태로 유지되었습니다.
  • MOD_WIN - WINDOWS 키를 누를 수 있습니다. 이러한 키는 Microsoft Windows 로고로 레이블이 지정됩니다.

nKey2
[in] 핫 키의 가상 키 코드입니다.

설명

이 메서드는 WM_HOTKEY Windows SDK에 설명된 알림을 받습니다. 이 메시지는 핫 키를 등록한 스레드와 연결된 메시지 큐의 맨 위에 배치됩니다. 함수를 RegisterHotKey 사용하여 시스템 전체 핫 키를 등록합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnHScroll

프레임워크는 사용자가 창의 가로 스크롤 막대를 클릭할 때 이 멤버 함수를 호출합니다.

afx_msg void OnHScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

매개 변수

nSBCode
사용자의 스크롤 요청을 나타내는 스크롤 막대 코드를 지정합니다. 이 매개 변수는 다음 중 하나일 수 있습니다.

  • SB_LEFT 맨 왼쪽으로 스크롤합니다.

  • SB_ENDSCROLL 끝 스크롤.

  • SB_LINELEFT 왼쪽으로 스크롤합니다.

  • SB_LINERIGHT 오른쪽으로 스크롤합니다.

  • SB_PAGELEFT 한 페이지를 왼쪽으로 스크롤합니다.

  • SB_PAGERIGHT 한 페이지를 오른쪽으로 스크롤합니다.

  • SB_RIGHT 맨 오른쪽으로 스크롤합니다.

  • SB_THUMBPOSITION 절대 위치로 스크롤합니다. 현재 위치는 매개 변수에 nPos 의해 지정됩니다.

  • SB_THUMBTRACK 스크롤 상자를 지정된 위치로 끌어다 놓습니다. 현재 위치는 매개 변수에 nPos 의해 지정됩니다.

nPos
스크롤 막대 코드 SB_THUMBPOSITIONSB_THUMBTRACK가 사용되거나 사용되지 않는 경우 스크롤 상자 위치를 지정합니다. 초기 스크롤 범위에 nPos 따라 음수일 수 있으며 필요한 경우 캐스팅 int 해야 합니다.

pScrollBar
스크롤 메시지가 스크롤 막대 컨트롤에서 온 경우 컨트롤에 대한 포인터를 포함합니다. 사용자가 창의 스크롤 막대를 클릭한 경우 이 매개 변수는 다음과 같습니다 NULL. 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

스크롤 막대 코드는 SB_THUMBTRACK 일반적으로 스크롤 상자를 끄는 동안 일부 피드백을 제공하는 애플리케이션에서 사용됩니다.

애플리케이션이 스크롤 막대에 의해 제어되는 내용을 스크롤하는 경우 멤버 함수를 SetScrollPos 사용하여 스크롤 상자의 위치도 다시 설정해야 합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

예시

void CMdiView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
{
   // Get the minimum and maximum scroll-bar positions.
   int minpos;
   int maxpos;
   GetScrollRange(SB_HORZ, &minpos, &maxpos);
   maxpos = GetScrollLimit(SB_HORZ);

   // Get the current position of scroll box.
   int curpos = GetScrollPos(SB_HORZ);

   // Determine the new position of scroll box.
   switch (nSBCode)
   {
   case SB_LEFT: // Scroll to far left.
      curpos = minpos;
      break;

   case SB_RIGHT: // Scroll to far right.
      curpos = maxpos;
      break;

   case SB_ENDSCROLL: // End scroll.
      break;

   case SB_LINELEFT: // Scroll left.
      if (curpos > minpos)
         curpos--;
      break;

   case SB_LINERIGHT: // Scroll right.
      if (curpos < maxpos)
         curpos++;
      break;

   case SB_PAGELEFT: // Scroll one page left.
   {
      // Get the page size.
      SCROLLINFO info;
      GetScrollInfo(SB_HORZ, &info, SIF_ALL);

      if (curpos > minpos)
         curpos = max(minpos, curpos - (int)info.nPage);
   }
   break;

   case SB_PAGERIGHT: // Scroll one page right.
   {
      // Get the page size.
      SCROLLINFO info;
      GetScrollInfo(SB_HORZ, &info, SIF_ALL);

      if (curpos < maxpos)
         curpos = min(maxpos, curpos + (int)info.nPage);
   }
   break;

   case SB_THUMBPOSITION: // Scroll to absolute position. nPos is the position
      curpos = nPos;      // of the scroll box at the end of the drag operation.
      break;

   case SB_THUMBTRACK: // Drag scroll box to specified position. nPos is the
      curpos = nPos;   // position that the scroll box has been dragged to.
      break;
   }

   // Set the new position of the thumb (scroll box).
   SetScrollPos(SB_HORZ, curpos);

   CView::OnHScroll(nSBCode, nPos, pScrollBar);
}

CWnd::OnHScrollClipboard

클립보드 데이터의 CF_OWNERDISPLAY 형식이 있고 클립보드 뷰어의 OnHScrollClipboard 가로 스크롤 막대에 이벤트가 있는 경우 클립보드 소유자의 멤버 함수는 클립보드 뷰어에서 호출됩니다.

afx_msg void OnHScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

매개 변수

pClipAppWnd
클립보드 뷰어 창에 대한 포인터를 지정합니다. 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

nSBCode
낮은 순서의 단어에서 다음 스크롤 막대 코드 중 하나를 지정합니다.

  • SB_BOTTOM 오른쪽으로 아래로 스크롤합니다.

  • SB_ENDSCROLL 끝 스크롤.

  • SB_LINEDOWN 한 줄 아래로 스크롤합니다.

  • SB_LINEUP 한 줄을 위로 스크롤합니다.

  • SB_PAGEDOWN 한 페이지를 아래로 스크롤합니다.

  • SB_PAGEUP 한 페이지를 위로 스크롤합니다.

  • SB_THUMBPOSITION 절대 위치로 스크롤합니다. 현재 위치는 에 nPos제공됩니다.

  • SB_TOP 왼쪽 위까지 스크롤합니다.

nPos
스크롤 막대 코드 SB_THUMBPOSITION가 있으면 스크롤 상자 위치를 포함하며, 그렇지 않으면 사용되지 않습니다.

설명

소유자는 클립보드 이미지를 스크롤하고, 적절한 섹션을 무효화하고, 스크롤 막대 값을 업데이트해야 합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnIconEraseBkgnd

아이콘을 그리기 전에 아이콘의 배경을 채워야 하는 경우 프레임워크는 최소화된(아이콘) CWnd 개체에 대해 이 멤버 함수를 호출합니다.

afx_msg void OnIconEraseBkgnd(CDC* pDC);

매개 변수

pDC
아이콘의 디바이스 컨텍스트 개체를 지정합니다. 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

CWnd 는 창 기본 구현에 대해 클래스 아이콘이 정의된 경우에만 이 호출을 수신합니다. 그렇지 않으면 OnEraseBkgnd 호출됩니다.

멤버 함수는 DefWindowProc 아이콘 배경을 부모 창의 배경 브러시로 채웁니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnInitMenu

프레임워크는 메뉴가 활성화될 때 이 멤버 함수를 호출합니다.

afx_msg void OnInitMenu(CMenu* pMenu);

매개 변수

pMenu
초기화할 메뉴를 지정합니다. 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

OnInitMenu 는 사용자가 메뉴 모음에서 항목을 클릭하거나 메뉴 키를 누를 때 호출됩니다. 메뉴가 표시되기 전에 이 멤버 함수를 재정의하여 메뉴를 수정합니다.

OnInitMenu 는 메뉴에 처음 액세스할 때(예: 사용자가 메뉴 모음에서 항목을 클릭하는 경우) 한 번만 호출됩니다. 이 메서드는 메뉴 항목에 대한 정보를 제공하지 않습니다. 사용자가 메뉴 내의 항목(예: 여러 메뉴 항목에서 마우스 이동)으로 이동하면 함수가 다시 호출되지 않습니다. 사용자가 메뉴에서 종료되고(예: 애플리케이션 클라이언트 영역을 클릭하여) 나중에 메뉴 모음에서 항목을 클릭하면 함수가 다시 호출됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnInitMenuPopup

팝업 메뉴가 활성화되려고 할 때 프레임워크에서 이 멤버 함수를 호출합니다.

afx_msg void OnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nIndex,
    BOOL bSysMenu);

매개 변수

pPopupMenu
팝업 메뉴의 메뉴 개체를 지정합니다. 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

nIndex
기본 메뉴에서 팝업 메뉴의 인덱스를 지정합니다.

bSysMenu
TRUE 팝업 메뉴가 컨트롤 메뉴이면 이고, 그렇지 않으면 FALSE.

설명

이렇게 하면 애플리케이션이 전체 메뉴를 변경하지 않고 팝업 메뉴를 표시하기 전에 수정할 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnInputDeviceChange

I/O 디바이스가 시스템에서 추가되거나 제거될 때 프레임워크는 이 멤버 함수를 호출합니다.

afx_msg void OnInputDeviceChange(unsigned short uFlag);

매개 변수

uFlag
[in] 이 플래그는 다음 값을 포함할 수 있습니다.

  • GIDC_ARRIVAL - 시스템에 새 디바이스가 추가되었습니다.
  • GIDC_REMOVAL - 디바이스가 시스템에서 제거되었습니다.

설명

이 메서드는 WM_INPUT_DEVICE_CHANGE Windows SDK에 설명된 알림을 받습니다. 제네릭 입력 디바이스 메시지입니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnInputLangChange

프레임워크는 애플리케이션의 입력 언어가 변경된 후 가장 큰 영향을 받는 창에 대해 이 멤버를 호출합니다.

afx_msg void OnInputLangChange(
    UINT nCharSet,
    UINT nLocaleId);

매개 변수

nCharSet
[in] 새 로캘의 문자 집합입니다. 자세한 내용은 구조체의 lfCharSet 매개 변수를 참조하세요 LOGFONT .

nLocaleId
[in] 입력 로캘 식별자입니다. 자세한 내용은 언어 식별자 상수 및 문자열을 참조 하세요.

설명

이 메서드는 WM_INPUTLANGCHANGE Windows SDK에 설명된 알림 메시지를 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnInputLangChangeRequest

프레임워크는 사용자가 새 입력 언어를 선택할 때 포커스가 있는 창에 대해 이 멤버를 호출합니다.

afx_msg void OnInputLangChangeRequest(
    UINT nFlags,
    UINT nLocaleId);

매개 변수

nFlags
[in] 설치된 로캘 목록의 이전 또는 다음 로캘에서 새 로캘이 선택되었거나 새 입력 로캘의 키보드 레이아웃을 시스템 문자 집합과 함께 사용할 수 있음을 나타내는 비트(OR) 플래그 조합입니다. 가능한 값은 INPUTLANGCHANGE_BACKWARD, INPUTLANGCHANGE_FORWARDINPUTLANGCHANGE_SYSCHARSET입니다.

nLocaleId
[in] 입력 로캘 식별자입니다. 자세한 내용은 언어 식별자 상수 및 문자열을 참조 하세요.

설명

이 메서드는 WM_INPUTLANGCHANGEREQUEST Windows SDK에 설명된 알림 메시지를 받습니다. 이 메시지는 사용자가 키보드 제어판 응용 프로그램에 지정된 바로 가기 키 또는 시스템 작업 표시줄의 표시기를 사용하여 새 입력 언어를 선택할 때 게시됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnKeyDown

프레임워크는 비시스템 키를 누를 때 이 멤버 함수를 호출합니다.

afx_msg void OnKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

매개 변수

nChar
지정된 키의 가상 키 코드를 지정합니다. 표준 가상 키 코드 목록은 Winuser.h를 참조하세요.

nRepCnt
반복 횟수(키를 누른 사용자의 결과로 키 입력이 반복되는 횟수).

nFlags
다음 목록에 표시된 것처럼 검사 코드, 키 전환 코드, 이전 키 상태 및 컨텍스트 코드를 지정합니다.

설명
0-7 스캔 코드(OEM 종속 값).
8 함수 키 또는 숫자 키패드의 키와 같은 확장 키(확장 키인 경우 1).
9-10 사용되지 않습니다.
11-12 Windows에서 내부적으로 사용됩니다.
13 컨텍스트 코드(키를 누른 상태에서 Alt 키를 누른 경우 1이고, 그렇지 않으면 0).
14 이전 키 상태(키가 호출 전에 다운된 경우 1, 키가 위쪽인 경우 0).
15 전환 상태(키가 해제되는 경우 1, 키를 누르고 있는 경우 0).

메시지의 WM_KEYDOWN 경우 키 전환 비트(비트 15)는 0이고 컨텍스트 코드 비트(비트 13)는 0입니다.

설명

비시스템 키는 ALT 키를 누르지 않을 때 누르는 키보드 키 또는 입력 포커스가 있을 때 CWnd 누른 키보드 키입니다.

자동 반복으로 인해 멤버 함수를 호출하기 전에 둘 OnKeyDown 이상의 호출이 OnKeyUp 발생할 수 있습니다. 이전 키 상태를 나타내는 비트는 호출이 첫 번째 다운 전환인지 또는 반복되는 다운 전환인지 OnKeyDown 를 확인하는 데 사용할 수 있습니다.

IBM Enhanced 101 및 102 키 키보드의 경우 고급 키는 키보드의 기본 섹션에 있는 오른쪽 Alt 키와 오른쪽 Ctrl 키, 숫자 키패드의 왼쪽에 있는 클러스터의 INS, DEL, HOME, END, PAGE UP, PAGE DOWN 및 화살표 키, 숫자 키패드의 슬래시(/) 및 ENTER 키입니다. 일부 다른 키보드는 .에서 nFlags확장 키 비트를 지원할 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnKeyUp

프레임워크는 비시스템 키가 릴리스될 때 이 멤버 함수를 호출합니다.

afx_msg void OnKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

매개 변수

nChar
지정된 키의 가상 키 코드를 지정합니다. 표준 가상 키 코드 목록은 Winuser.h

nRepCnt
반복 횟수(키를 누른 사용자의 결과로 키 입력이 반복되는 횟수).

nFlags
다음 목록에 표시된 것처럼 검사 코드, 키 전환 코드, 이전 키 상태 및 컨텍스트 코드를 지정합니다.

설명
0-7 스캔 코드(OEM 종속 값). 상위 단어의 낮은 바이트입니다.
8 함수 키 또는 숫자 키패드의 키와 같은 확장 키(확장 키인 경우 1, 그렇지 않으면 0).
9-10 사용되지 않습니다.
11-12 Windows에서 내부적으로 사용됩니다.
13 컨텍스트 코드(키를 누른 상태에서 Alt 키를 누른 경우 1이고, 그렇지 않으면 0).
14 이전 키 상태(키가 호출 전에 다운된 경우 1, 키가 위쪽인 경우 0).
15 전환 상태(키가 해제되는 경우 1, 키를 누르고 있는 경우 0).

메시지의 WM_KEYUP 경우 키 전환 비트(비트 15)는 1이고 컨텍스트 코드 비트(비트 13)는 0입니다.

설명

비시스템 키는 ALT 키를 누르지 않을 때 누르는 키보드 키 또는 입력 포커스가 있을 때 CWnd 누른 키보드 키입니다.

IBM Enhanced 101 및 102 키 키보드의 경우 고급 키는 키보드의 기본 섹션에 있는 오른쪽 Alt 키와 오른쪽 Ctrl 키, 숫자 키패드의 왼쪽에 있는 클러스터의 INS, DEL, HOME, END, PAGE UP, PAGE DOWN 및 화살표 키, 숫자 키패드의 슬래시(/) 및 ENTER 키입니다. 일부 다른 키보드는 nFlags에서 확장 키 비트를 지원할 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnKillFocus

프레임워크는 입력 포커스를 잃기 직전에 이 멤버 함수를 호출합니다.

afx_msg void OnKillFocus(CWnd* pNewWnd);

매개 변수

pNewWnd
입력 포커스를 받는 창에 대한 포인터를 지정합니다(일시적일 NULL 수도 있음).

설명

개체가 CWnd 캐리트를 표시하는 경우 이 시점에서 캐리트를 제거해야 합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnLButtonDblClk

프레임워크는 사용자가 왼쪽 마우스 단추를 두 번 클릭할 때 이 멤버 함수를 호출합니다.

afx_msg void OnLButtonDblClk(
    UINT nFlags,
    CPoint point);

매개 변수

nFlags
다양한 가상 키가 눌러져 있는지 여부를 나타냅니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • MK_CONTROL Ctrl 키가 다운되었는지 설정합니다.

  • MK_LBUTTON 마우스 왼쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_MBUTTON 마우스 가운데 단추가 아래쪽에 있으면 설정합니다.

  • MK_RBUTTON 마우스 오른쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_SHIFT SHIFT 키가 다운되었는지 설정합니다.

point
커서의 x 및 y 좌표를 지정합니다. 이러한 좌표는 항상 창의 왼쪽 위 모서리를 기준으로 합니다.

설명

스타일이 있는 CS_DBLCLKSWNDCLASS 창만 호출을 받습니다 OnLButtonDblClk . Microsoft Foundation 클래스 창의 기본값입니다. Windows는 사용자가 시스템의 두 번 클릭 시간 제한 내에서 마우스 왼쪽 단추를 누를 때 호출 OnLButtonDblClk 합니다. 마우스 왼쪽 단추를 두 번 클릭하면 실제로 단추를 놓을 때 메시지, WM_LBUTTONDBLCLK 통화 및 다른 WM_LBUTTONUP 메시지의 네 가지 이벤트가 WM_LBUTTONDOWNWM_LBUTTONUP 생성됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnLButtonDown

프레임워크는 사용자가 마우스 왼쪽 단추를 누를 때 이 멤버 함수를 호출합니다.

afx_msg void OnLButtonDown(
    UINT nFlags,
    CPoint point);

매개 변수

nFlags
다양한 가상 키가 눌러져 있는지 여부를 나타냅니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • MK_CONTROL Ctrl 키가 다운되었는지 설정합니다.

  • MK_LBUTTON 마우스 왼쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_MBUTTON 마우스 가운데 단추가 아래쪽에 있으면 설정합니다.

  • MK_RBUTTON 마우스 오른쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_SHIFT SHIFT 키가 다운되었는지 설정합니다.

point
커서의 x 및 y 좌표를 지정합니다. 이러한 좌표는 항상 창의 왼쪽 위 모서리를 기준으로 합니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnLButtonUp

프레임워크는 사용자가 마우스 왼쪽 단추를 놓을 때 이 멤버 함수를 호출합니다.

afx_msg void OnLButtonUp(
    UINT nFlags,
    CPoint point);

매개 변수

nFlags
다양한 가상 키가 눌러져 있는지 여부를 나타냅니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • MK_CONTROL Ctrl 키가 다운되었는지 설정합니다.

  • MK_MBUTTON 마우스 가운데 단추가 아래쪽에 있으면 설정합니다.

  • MK_RBUTTON 마우스 오른쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_SHIFT SHIFT 키가 다운되었는지 설정합니다.

point
커서의 x 및 y 좌표를 지정합니다. 이러한 좌표는 항상 창의 왼쪽 위 모서리를 기준으로 합니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMButtonDblClk

프레임워크는 사용자가 마우스 가운데 단추를 두 번 클릭할 때 이 멤버 함수를 호출합니다.

afx_msg void OnMButtonDblClk(
    UINT nFlags,
    CPoint point);

매개 변수

nFlags
다양한 가상 키가 눌러져 있는지 여부를 나타냅니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • MK_CONTROL Ctrl 키가 다운되었는지 설정합니다.

  • MK_LBUTTON 마우스 왼쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_MBUTTON 마우스 가운데 단추가 아래쪽에 있으면 설정합니다.

  • MK_RBUTTON 마우스 오른쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_SHIFT SHIFT 키가 다운되었는지 설정합니다.

point
커서의 x 및 y 좌표를 지정합니다. 이러한 좌표는 항상 창의 왼쪽 위 모서리를 기준으로 합니다.

설명

스타일이 있는 CS_DBLCLKSWNDCLASS 창만 호출을 받습니다 OnMButtonDblClk . 모든 Microsoft Foundation 클래스 창의 기본값입니다. Windows는 OnMButtonDblClk 사용자가 시스템의 두 번 클릭 시간 제한 내에서 마우스 가운데 단추를 누르고, 놓은 다음, 다시 누를 때 호출을 생성합니다. 마우스 가운데 단추를 두 번 클릭하면 실제로 메시지, WM_MBUTTONDBLCLK 통화 및 다른 WM_MBUTTONUP 메시지의 WM_MBUTTONUP 네 가지 이벤트가 WM_MBUTTONDOWN 생성됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMButtonDown

프레임워크는 사용자가 마우스 가운데 단추를 누를 때 이 멤버 함수를 호출합니다.

afx_msg void OnMButtonDown(
    UINT nFlags,
    CPoint point);

매개 변수

nFlags
다양한 가상 키가 눌러져 있는지 여부를 나타냅니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • MK_CONTROL Ctrl 키가 다운되었는지 설정합니다.

  • MK_LBUTTON 마우스 왼쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_MBUTTON 마우스 가운데 단추가 아래쪽에 있으면 설정합니다.

  • MK_RBUTTON 마우스 오른쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_SHIFT SHIFT 키가 다운되었는지 설정합니다.

point
커서의 x 및 y 좌표를 지정합니다. 이러한 좌표는 항상 창의 왼쪽 위 모서리를 기준으로 합니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMButtonUp

프레임워크는 사용자가 마우스 가운데 단추를 놓을 때 이 멤버 함수를 호출합니다.

afx_msg void OnMButtonUp(
    UINT nFlags,
    CPoint point);

매개 변수

nFlags
다양한 가상 키가 눌러져 있는지 여부를 나타냅니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • MK_CONTROL Ctrl 키가 다운되었는지 설정합니다.

  • MK_LBUTTON 마우스 왼쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_RBUTTON 마우스 오른쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_SHIFT SHIFT 키가 다운되었는지 설정합니다.

point
커서의 x 및 y 좌표를 지정합니다. 이러한 좌표는 항상 창의 왼쪽 위 모서리를 기준으로 합니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMDIActivate

프레임워크는 비활성화되는 자식 창과 활성화되는 자식 창에 대해 이 멤버 함수를 호출합니다.

afx_msg void OnMDIActivate(
    BOOL bActivate,
    CWnd* pActivateWnd,
    CWnd* pDeactivateWnd);

매개 변수

bActivate
TRUE 자식이 활성화되고 있고 FALSE 비활성화되는 경우

pActivateWnd
활성화할 MDI 자식 창에 대한 포인터를 포함합니다. MDI 자식 창 pActivateWnd 에서 받은 경우 활성화되는 자식 창에 대한 포인터를 포함합니다. 이 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

pDeactivateWnd
비활성화되는 MDI 자식 창에 대한 포인터를 포함합니다. 이 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

MDI 자식 창은 MDI 프레임 창과 독립적으로 활성화됩니다. 프레임이 활성화되면 마지막으로 호출로 OnMDIActivate 활성화된 자식 창은 활성 창 프레임과 캡션 막대를 그리는 메시지를 수신 WM_NCACTIVATE 하지만 다른 OnMDIActivate 호출을 받지는 않습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMeasureItem

프레임워크는 컨트롤을 만들 때 소유자 그리기 단추, 콤보 상자, 목록 상자 또는 메뉴 항목의 소유자에 대한 프레임워크에서 이 멤버 함수를 호출합니다.

afx_msg void OnMeasureItem(
    int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);

매개 변수

nIDCtl
컨트롤의 ID입니다.

lpMeasureItemStruct
MEASUREITEMSTRUCT 소유자 그리기 컨트롤의 차원이 포함된 데이터 구조를 가리킵니다.

설명

이 멤버 함수를 재정의하고 가리키는 lpMeasureItemStruct 데이터 구조를 입력하고 반환합니다. 그러면 Windows에서 MEASUREITEMSTRUCT 컨트롤의 차원을 알리고 Windows에서 컨트롤과의 사용자 상호 작용을 올바르게 처리할 수 있습니다.

목록 상자 또는 콤보 상자가 또는 CBS_OWNERDRAWVARIABLE 스타일로 만들어 LBS_OWNERDRAWVARIABLE 지면 프레임워크는 컨트롤의 각 항목에 대해 이 함수를 호출하고, 그렇지 않으면 이 함수를 한 번 호출합니다.

Windows는 메시지를 보내기 전에 스타일로 만든 콤보 상자 및 목록 상자 소유자에 대한 호출 OnMeasureItemOWNERDRAWFIXEDWM_INITDIALOG 시작합니다. 따라서 소유자가 이 호출을 받으면 Windows는 컨트롤에 사용되는 글꼴의 높이와 너비를 아직 결정하지 않았습니다. 이러한 값이 필요한 함수 호출 및 계산은 애플리케이션 또는 라이브러리의 기본 함수에서 발생해야 합니다.

측정되는 항목이 CMenu개체 CListBoxCComboBoxMeasureItem 경우 적절한 클래스의 가상 함수가 호출됩니다. 적절한 컨트롤 클래스의 멤버 함수를 재정 MeasureItem 의하여 각 항목의 크기를 계산하고 설정합니다.

OnMeasureItem는 런타임에 컨트롤의 클래스가 만들어지거나 스타일이 CBS_OWNERDRAWVARIABLE 있는 LBS_OWNERDRAWVARIABLE 경우에만 호출됩니다. 대화 상자 편집 OnMeasureItem 기에서 컨트롤을 만든 경우 호출되지 않습니다. 이는 컨트롤 생성 WM_MEASUREITEM 프로세스 초기에 메시지가 전송되기 때문입니다. 또는 서브SubclassDlgItemSubclassWindow클래스를 사용하여 DDX_Control서브클래싱하는 경우 일반적으로 생성 프로세스 후에 서브클래싱이 발생합니다. 따라서 MFC가 구현ON_WM_MEASUREITEM_REFLECT하는 데 사용하는 메커니즘인 컨트롤의 OnChildNotify 함수에서 메시지를 처리 WM_MEASUREITEM 할 수 있는 방법은 없습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMenuChar

프레임워크는 사용자가 현재 메뉴의 미리 정의된 니모닉과 일치하지 않는 메뉴 니모닉 문자를 누를 때 이 멤버 함수를 호출합니다.

afx_msg LRESULT OnMenuChar(
    UINT nChar,
    UINT nFlags,
    CMenu* pMenu);

매개 변수

nChar
빌드 설정에 따라 사용자가 누른 ANSI 또는 유니코드 문자를 지정합니다.

nFlags
메뉴가 MF_POPUP 팝업 메뉴인 경우 플래그를 포함합니다. 메뉴가 MF_SYSMENU 컨트롤 메뉴인 경우 플래그가 포함됩니다.

pMenu
선택한 CMenu에 대한 포인터를 포함합니다. 포인터는 일시적일 수 있으며 저장해서는 안 됩니다.

Return Value

반환 값의 상위 단어에는 다음 명령 코드 중 하나가 포함되어야 합니다.

설명
0 Windows에 사용자가 누른 문자를 카드 시스템 스피커에 짧은 경고음이 발생하도록 지시합니다.
1 Windows에 현재 메뉴를 닫으라고 지시합니다.
2 반환 값의 하위 단어에 특정 항목의 항목 번호가 포함되어 있음을 Windows에 알립니다. 이 항목은 Windows에서 선택합니다.

상위 단어에 0 또는 1이 포함된 경우 하위 단어는 무시됩니다. 액셀러레이터(바로 가기) 키를 사용하여 메뉴에 배치된 비트맵을 선택하는 경우 애플리케이션에서 이 메시지를 처리해야 합니다.

설명

메뉴를 소유하는 CWnd 사용자에게 전송됩니다. OnMenuChar 는 키가 니모닉 문자에 해당하지 않더라도 사용자가 ALT 및 기타 키를 누를 때도 호출됩니다. 이 경우 pMenu 소유하는 메뉴를 CWnd가리키며 nFlags 0입니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMenuDrag

프레임워크는 사용자가 메뉴 항목을 끌기 시작할 때 현재 끌어서 놓기 메뉴의 이 멤버 함수를 호출합니다.

afx_msg UINT OnMenuDrag(
    UINT nPos,
    CMenu* pMenu);

매개 변수

nPos
[in] 끌기 작업이 시작될 때 메뉴 항목의 인덱스 위치입니다.

pMenu
[in] 메뉴 항목이 CMenu 포함된 개체에 대한 포인터입니다.

Return Value

Return Value 의미
MND_CONTINUE 메뉴가 다시 활성화되어야 기본. 마우스를 놓으면 무시해야 합니다.
MND_ENDMENU 메뉴가 종료되어야 합니다.

설명

이 메서드는 WM_MENUDRAG Windows SDK에 설명된 알림을 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMenuGetObject

프레임워크는 마우스 커서가 메뉴 항목에 들어가거나 항목의 가운데에서 항목의 위쪽 또는 아래쪽으로 이동할 때 현재 끌어서 놓기 메뉴의 이 멤버 함수를 호출합니다.

afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);

매개 변수

pMenu
[in] 마우스 커서가 MENUGETOBJECTINFO 있는 끌어서 놓기 메뉴에 대한 정보가 들어 있는 구조체에 대한 포인터입니다.

Return Value

Return Value 의미
MNGO_NOERROR 끌어서 놓기 작업을 지원하는 인터페이스 포인터가 구조체의 MENUGETOBJECTINFO 멤버에 pvObj 반환됩니다. 현재 인터페이스만 IDropTarget 지원됩니다.
MNGO_NOINTERFACE 드롭 앤 드래깅 인터페이스는 지원되지 않습니다.

설명

이 메서드는 WM_MENUGETOBJECT Windows SDK에 설명된 알림을 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMenuRButtonUp

커서가 메뉴 항목에 있는 동안 사용자가 마우스 오른쪽 단추를 놓으면 프레임워크에서 이 멤버 함수를 호출합니다.

afx_msg void OnMenuRButtonUp(
    UINT nPos,
    CMenu* pMenu);

매개 변수

nPos
[in] 오른쪽 마우스 단추를 놓을 때 메뉴 항목의 인덱스 위치입니다.

pMenu
[in] 메뉴 항목이 CMenu 포함된 개체에 대한 포인터입니다.

설명

이 메서드는 WM_MENURBUTTONUP Windows SDK에 설명된 알림을 받습니다. 이 WM_MENURBUTTONUP 메시지를 사용하면 애플리케이션에서 메시지에 지정된 메뉴 항목에 대한 상황에 맞는 메뉴를 제공할 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMenuSelect

개체가 CWnd 메뉴와 연결된 경우 사용자가 메뉴 OnMenuSelect 항목을 선택할 때 프레임워크에서 호출됩니다.

afx_msg void OnMenuSelect(
    UINT nItemID,
    UINT nFlags,
    HMENU hSysMenu);

매개 변수

nItemID
선택한 항목을 식별합니다. 선택한 항목이 메뉴 항목 nItemID 인 경우 메뉴 항목 ID를 포함합니다. 선택한 항목에 팝업 메뉴가 포함된 경우 팝업 메뉴 nItemID 인덱스가 포함되고 hSysMenu 기본(클릭) 메뉴의 핸들이 포함됩니다.

nFlags
다음 메뉴 플래그의 조합을 포함합니다.

  • MF_BITMAP 항목이 비트맵입니다.

  • MF_CHECKED항목이 검사.

  • MF_DISABLED 항목을 사용할 수 없습니다.

  • MF_GRAYED 항목이 흐리게 표시됩니다.

  • MF_MOUSESELECT 마우스로 항목을 선택했습니다.

  • MF_OWNERDRAW 항목은 소유자 그리기 항목입니다.

  • MF_POPUP 항목에 팝업 메뉴가 포함되어 있습니다.

  • MF_SEPARATOR 항목은 메뉴 항목 구분 기호입니다.

  • MF_SYSMENU 항목이 컨트롤 메뉴에 포함되어 있습니다.

hSysMenu
포함된 MF_SYSMENU경우 nFlags 메시지와 연결된 메뉴를 식별합니다. 포함된 MF_POPUP경우 nFlags 기본 메뉴의 핸들을 식별합니다. 둘 다 포함하거나 MF_SYSMENUMF_POPUP포함하지 않는 경우 nFlags 사용되지 않습니다.

설명

0xFFFF 포함되고 hSysMenu 0이 포함된 경우 nFlags 사용자가 ESC 키를 누르거나 메뉴 바깥쪽을 클릭했기 때문에 Windows에서 메뉴를 닫습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMouseActivate

커서가 비활성 창에 있고 사용자가 마우스 단추를 누르면 프레임워크에서 이 멤버 함수를 호출합니다.

afx_msg int OnMouseActivate(
    CWnd* pDesktopWnd,
    UINT nHitTest,
    UINT message);

매개 변수

pDesktopWnd
활성화되는 창의 최상위 부모 창에 대한 포인터를 지정합니다. 포인터는 일시적일 수 있으며 저장해서는 안 됩니다.

nHitTest
적중 테스트 영역 코드를 지정합니다. 적중 테스트는 커서의 위치를 결정하는 테스트입니다.

message
마우스 메시지 번호를 지정합니다.

Return Value

마우스 이벤트를 활성화 CWnd 할지 여부와 카드 여부를 지정합니다. 다음 값 중 하나여야 합니다.

  • MA_ACTIVATE 개체를 활성화 CWnd 합니다.

  • MA_NOACTIVATE 개체를 활성화 CWnd 하지 마세요.

  • MA_ACTIVATEANDEAT개체를 활성화 CWnd 하고 마우스 이벤트를 카드.

  • MA_NOACTIVATEANDEAT개체를 활성화 CWnd 하지 않고 마우스 이벤트를 카드 않습니다.

설명

기본 구현은 처리가 발생하기 전에 이 메시지를 부모 창에 전달합니다. 부모 창이 TRUE를 반환하면 처리가 중지됩니다.

개별 적중 테스트 영역 코드에 대한 설명은 멤버 함수를 OnNcHitTest 참조하세요.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

예시

// The code fragment below shows how to UI activate an ActiveX control.
// CMyAxCtrl is a COleControl-derived class.
int CMyAxCtrl::OnMouseActivate(CWnd *pDesktopWnd, UINT nHitTest, UINT message)
{
   OnActivateInPlace(TRUE, NULL); // OnActivateInPlace() is an undocumented function
   return COleControl::OnMouseActivate(pDesktopWnd, nHitTest, message);
}

CWnd::OnMouseHover

프레임워크는 커서가 이전 호출에 지정된 기간 동안 창의 클라이언트 영역을 마우스로 가리키면 이 멤버 함수를 호출합니다 TrackMouseEvent.

afx_msg void OnMouseHover(
    UINT nFlags,
    CPoint point);

매개 변수

nFlags
[in] 누를 한정자 키를 나타내는 플래그의 비트 조합(OR)입니다. 예를 들어 플래그는 MK_CONTROL Ctrl 키를 눌렀다는 것을 나타냅니다.

point
[in] CPoint 클라이언트 영역의 x 왼쪽 위 모서리를 기준으로 커서의 좌표와 y 좌표를 지정하는 개체입니다.

설명

이 메서드는 WM_MOUSEHOVER Windows SDK에 설명된 알림을 받습니다.

매개 변수는 nFlags 다음 표에 나열된 한정자 키의 조합일 수 있습니다. 자세한 내용은 마우스 입력 정보를 참조 하세요.

한정자 키 설명
MK_CONTROL Ctrl 키를 누릅니다.
MK_LBUTTON 마우스 왼쪽 단추를 누릅니다.
MK_MBUTTON 마우스 가운데 단추를 누릅니다.
MK_RBUTTON 마우스 오른쪽 단추를 누릅니다.
MK_SHIFT SHIFT 키를 눌렀습니다.
MK_XBUTTON1 XBUTTON1 Microsoft IntelliMouse의 마우스 단추를 누릅니다.
MK_XBUTTON2 XBUTTON2 Microsoft IntelliMouse의 마우스 단추를 누릅니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMouseHWheel

프레임워크는 마우스의 가로 스크롤 휠이 기울어지거나 회전될 때 이 멤버를 호출합니다.

afx_msg void OnMouseHWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

매개 변수

nFlags
[in] 누를 한정자 키를 나타내는 플래그의 비트 조합(OR)입니다. 예를 들어 플래그는 MK_CONTROL Ctrl 키를 눌렀다는 것을 나타냅니다. 플래그 목록은 마우스 입력 정보에서 "메시지 매개 변수" 부제목을 참조하세요.

zDelta
[in] 휠이 회전되는 거리를 나타내며, 120의 배수 또는 나누기 WHEEL_DELTA로 표현됩니다. 양수 값은 휠이 오른쪽으로 회전되었음을 나타냅니다. 음수 값은 휠이 왼쪽으로 회전했음을 나타냅니다.

pt
[in] CPoint 클라이언트 영역의 x 왼쪽 위 모서리를 기준으로 커서의 좌표와 y 좌표를 지정하는 개체입니다.

설명

이 메서드는 WM_MOUSEHWHEEL Windows SDK에 설명된 알림 메시지를 받습니다. 이 메시지는 마우스의 가로 스크롤 휠이 기울어지거나 회전할 때 포커스가 있는 창으로 전송됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMouseLeave

프레임워크는 커서가 이전 호출에 지정된 창의 클라이언트 영역을 떠날 때 이 멤버 함수를 호출합니다 TrackMouseEvent.

afx_msg void OnMouseLeave();

설명

이 메서드는 WM_MOUSELEAVE Windows SDK에 설명된 알림을 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMouseMove

마우스 커서가 이동할 때 프레임워크에서 이 멤버 함수를 호출합니다.

afx_msg void OnMouseMove(
    UINT nFlags,
    CPoint point);

매개 변수

nFlags
다양한 가상 키가 눌러져 있는지 여부를 나타냅니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • MK_CONTROL Ctrl 키가 다운되었는지 설정합니다.

  • MK_LBUTTON 마우스 왼쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_MBUTTON 마우스 가운데 단추가 아래쪽에 있으면 설정합니다.

  • MK_RBUTTON 마우스 오른쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_SHIFT SHIFT 키가 다운되었는지 설정합니다.

point
커서의 x 및 y 좌표를 지정합니다. 이러한 좌표는 항상 창의 왼쪽 위 모서리를 기준으로 합니다.

설명

마우스를 캡처 WM_MOUSEMOVE 하지 않으면 마우스 커서 아래의 개체가 메시지를 받 CWnd 습니다. 그렇지 않으면 메시지가 마우스를 캡처한 창으로 이동합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMouseWheel

프레임워크는 사용자가 마우스 휠을 회전하고 휠의 다음 노치를 발견할 때 이 멤버 함수를 호출합니다.

afx_msg BOOL OnMouseWheel(
    UINT nFlags,
    short zDelta,
    CPoint pt);

매개 변수

nFlags
다양한 가상 키가 눌러져 있는지 여부를 나타냅니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • MK_CONTROL Ctrl 키가 다운되었는지 설정합니다.

  • MK_LBUTTON 마우스 왼쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_MBUTTON 마우스 가운데 단추가 아래쪽에 있으면 설정합니다.

  • MK_RBUTTON 마우스 오른쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_SHIFT SHIFT 키가 다운되었는지 설정합니다.

zDelta
회전된 거리를 나타냅니다. 값은 zDelta 120의 배수 또는 나누기 WHEEL_DELTA로 표현됩니다. 0보다 작은 값은 뒤로(사용자쪽으로) 회전하는 것을 나타내고, 0보다 큰 값은 앞으로 회전(사용자로부터 멀리)을 나타냅니다. 사용자는 마우스 소프트웨어에서 휠 설정을 변경하여 이 응답을 되돌릴 수 있습니다. 이 매개 변수에 대한 자세한 내용은 비고를 참조하세요.

pt
커서의 x 및 y 좌표를 지정합니다. 이러한 좌표는 항상 화면의 왼쪽 위 모서리를 기준으로 합니다.

Return Value

마우스 휠 스크롤을 사용하는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

재정 OnMouseWheel 의되지 않는 한 기본값을 호출합니다 WM_MOUSEWHEEL. Windows에서는 포커스가 있는 컨트롤 또는 자식 창으로 메시지를 자동으로 라우팅합니다. Win32 함수 DefWindowProc 는 부모 체인의 메시지를 처리하는 창으로 전파합니다.

zDelta 매개 변수는 120으로 설정된 배수WHEEL_DELTA입니다. 이 값은 수행할 작업에 대한 임계값이며 각 델타에 대해 이러한 작업(예: 한 단계 앞으로 스크롤)이 발생해야 합니다.

WHEEL_DELTA 노치가 없는 자유 회전 휠과 같은 미세한 해상도의 휠을 허용하도록 120으로 설정되었습니다. 더 미세한 해상도의 휠은 회전당 더 많은 메시지를 보내지만 각 메시지에는 델타 값이 더 작습니다. 이러한 휠을 사용하려면 도달될 때까지 WHEEL_DELTA 들어오는 zDelta 값을 추가하거나(지정된 델타 회전에 대해 동일한 응답을 받도록) 더 빈번한 메시지에 대한 응답으로 부분선을 스크롤합니다. 스크롤 세분성을 선택하고 도달할 때까지 WHEEL_DELTA 델타를 누적할 수도 있습니다.

사용자 고유의 마우스 휠 스크롤 동작을 제공하도록 이 멤버 함수를 재정의합니다.

참고 항목

OnMouseWheel 는 Windows NT 4.0 이상 버전에 대한 메시지를 처리합니다. Windows 95/98 또는 Windows NT 3.51 메시지 처리의 경우 .OnRegisteredMouseWheel

CWnd::OnMove

프레임워크는 개체가 이동된 후 이 멤버 함수를 CWnd 호출합니다.

afx_msg void OnMove(
    int x,
    int y);

매개 변수

x
클라이언트 영역의 왼쪽 위 모서리에 있는 새 x 좌표 위치를 지정합니다. 이 새 위치는 겹치는 창과 팝업 창의 화면 좌표, 자식 창에 대한 부모-클라이언트 좌표로 제공됩니다.

y
클라이언트 영역의 왼쪽 위 모서리에 있는 새 y 좌표 위치를 지정합니다. 이 새 위치는 겹치는 창과 팝업 창의 화면 좌표, 자식 창에 대한 부모-클라이언트 좌표로 제공됩니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnMoving

프레임워크는 사용자가 개체를 이동하는 동안 이 멤버 함수를 CWnd 호출합니다.

afx_msg void OnMoving(
    UINT nSide,
    LPRECT lpRect);

매개 변수

nSide
이동할 창의 가장자리입니다.

lpRect
항목의 CRect 좌표를 포함할 구조 RECT 체의 주소입니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcActivate

비클라이언트 영역을 변경하여 활성 또는 비활성 상태를 나타내야 하는 경우 프레임워크는 이 멤버 함수를 호출합니다.

afx_msg BOOL OnNcActivate(BOOL bActive);

매개 변수

bActive
활성 또는 비활성 상태를 나타내기 위해 캡션 막대 또는 아이콘을 변경해야 하는 시기를 지정합니다. 매개 변수는 bActiveTRUE 활성 캡션 또는 아이콘을 그릴 경우입니다. FALSE 비활성 캡션 또는 아이콘용입니다.

Return Value

Windows에서 기본 처리를 진행해야 하는 경우 0이 아닌 경우 캡션 막대 또는 아이콘이 비활성화되지 않도록 0입니다.

설명

기본 구현은 현재 색인 경우 제목 표시줄 및 제목 표시줄 텍스트를 비활성 색(있는 경우 bActiveTRUEbActiveFALSE)으로 그립니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcCalcSize

프레임워크는 클라이언트 영역의 크기와 위치를 계산해야 할 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcCalcSize(
    BOOL bCalcValidRects,
    NCCALCSIZE_PARAMS* lpncsp);

매개 변수

bCalcValidRects
애플리케이션에서 유효한 정보를 포함하는 클라이언트 영역의 일부를 지정해야 하는지 여부를 지정합니다. Windows는 새 클라이언트 영역 내의 지정된 영역에 유효한 정보를 복사합니다. 이 매개 변수가 TRUE이면 애플리케이션은 클라이언트 영역의 어느 부분이 유효한지 지정해야 합니다.

lpncsp
NCCALCSIZE_PARAMS 애플리케이션이 사각형의 CWnd 새 크기 및 위치(클라이언트 영역, 테두리, 캡션, 스크롤 막대 등)를 계산하는 데 사용할 수 있는 정보가 포함된 데이터 구조를 가리킵니다.

설명

애플리케이션은 이 메시지를 처리하여 창의 크기 또는 위치가 변경되면 창의 클라이언트 영역 내용을 제어할 수 있습니다.

값에 관계없이 구조체의 bCalcValidRects구조체 멤버에 지정된 rgrc 배열의 NCCALCSIZE_PARAMS 첫 번째 사각형에는 창의 좌표가 포함됩니다. 자식 창의 경우 좌표는 부모 창의 클라이언트 영역을 기준으로 합니다. 최상위 창의 경우 좌표는 화면 좌표입니다. 애플리케이션은 클라이언트 영역의 rgrc[0] 크기와 위치를 반영하도록 사각형을 수정해야 합니다.

rgrc[2] 사각형은 rgrc[1] 유효한 경우에만 bCalcValidRectsTRUE유효합니다. 이 경우 사각형은 rgrc[1] 이동하거나 크기를 조정하기 전에 창의 좌표를 포함합니다. 사각형에는 rgrc[2] 창을 이동하기 전에 창의 클라이언트 영역 좌표가 포함됩니다. 모든 좌표는 부모 창 또는 화면을 기준으로 합니다.

기본 구현은 창 특성(스크롤 막대, 메뉴 등의 존재)에 따라 클라이언트 영역의 크기를 계산하고 결과를 lpncsp배치합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcCreate

프레임워크는 개체를 처음 만들 때 메시지 전에 WM_CREATE 이 멤버 함수를 CWnd 호출합니다.

afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);

매개 변수

lpCreateStruct
CREATESTRUCT 대한 데이터 구조를 가리킵니다 CWnd.

Return Value

비클라이언트 영역이 만들어지면 0이 아닌 값입니다. 오류가 발생하면 0입니다. 이 Create 경우 함수가 반환 failure 됩니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcDestroy

비클라이언트 영역이 제거될 때 프레임워크에서 호출되며 Windows 창이 제거될 때 호출되는 마지막 멤버 함수입니다.

afx_msg void OnNcDestroy();

설명

기본 구현은 일부 클린 수행한 다음 가상 멤버 함수PostNcDestroy를 호출합니다.

작업과 같은 고유한 클린 수행하려는 경우 재정 PostNcDestroydelete this 합니다. 재정 OnNcDestroy의하는 경우 창에 내부적으로 할당된 메모리가 해제되도록 기본 클래스에서 호출 OnNcDestroy 해야 합니다.

CWnd::OnNcHitTest

프레임워크는 마우스를 이동할 때마다 커서(또는 CWnd 멤버 함수 CWnd 를 사용하여 SetCapture 마우스 입력을 캡처한 개체)가 포함된 개체에 대해 이 멤버 함수를 호출합니다.

afx_msg LRESULT OnNcHitTest(CPoint point);

매개 변수

point
커서의 x 좌표와 y 좌표를 포함합니다. 이러한 좌표는 항상 화면 좌표입니다.

Return Value

마우스 적중 테스트 열거 값 중 하나입니다. 값 목록을 참조 WM_NCHITTEST 하세요.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcLButtonDblClk

프레임워크는 커서가 비클라이언트 영역 CWnd내에 있는 동안 사용자가 왼쪽 마우스 단추를 두 번 클릭할 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcLButtonDblClk(
    UINT nHitTest,
    CPoint point);

매개 변수

nHitTest
적중 테스트 코드를 지정합니다. 적중 테스트는 커서의 위치를 결정하는 테스트입니다. 값 목록을 참조 WM_NCHITTEST 하세요.

point
CPoint 커서 위치의 x 및 y 화면 좌표를 포함하는 개체를 지정합니다. 이러한 좌표는 항상 화면의 왼쪽 위 모서리를 기준으로 합니다.

설명

적절한 WM_SYSCOMMAND 경우 메시지가 전송됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcLButtonDown

프레임워크는 커서가 개체의 비클라이언트 영역 내에 있는 동안 사용자가 마우스 왼쪽 단추를 누를 때 이 멤버 함수를 CWnd 호출합니다.

afx_msg void OnNcLButtonDown(
    UINT nHitTest,
    CPoint point);

매개 변수

nHitTest
적중 테스트 코드를 지정합니다. 적중 테스트는 커서의 위치를 결정하는 테스트입니다. 값 목록을 참조 WM_NCHITTEST 하세요.

point
CPoint 커서 위치의 x 및 y 화면 좌표를 포함하는 개체를 지정합니다. 이러한 좌표는 항상 화면의 왼쪽 위 모서리를 기준으로 합니다.

설명

적절한 WM_SYSCOMMAND 경우 전송됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달된 매개 변수는 메시지가 수신되었을 때 프레임워크에서 받은 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우 해당 구현은 함수에 제공하는 매개 변수가 아니라 메시지와 함께 원래 전달된 매개 변수를 사용합니다.

CWnd::OnNcLButtonUp

프레임워크는 커서가 비클라이언트 영역 내에 있는 동안 사용자가 마우스 왼쪽 단추를 놓을 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcLButtonUp(
    UINT nHitTest,
    CPoint point);

매개 변수

nHitTest
적중 테스트 코드를 지정합니다. 적중 테스트는 커서의 위치를 결정하는 테스트입니다. 값 목록을 참조 WM_NCHITTEST 하세요.

point
CPoint 커서 위치의 x 및 y 화면 좌표를 포함하는 개체를 지정합니다. 이러한 좌표는 항상 화면의 왼쪽 위 모서리를 기준으로 합니다.

설명

적절한 WM_SYSCOMMAND 경우 전송됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcMButtonDblClk

프레임워크는 커서가 비클라이언트 영역 내에 있는 동안 사용자가 마우스 가운데 단추를 두 번 클릭할 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcMButtonDblClk(
    UINT nHitTest,
    CPoint point);

매개 변수

nHitTest
적중 테스트 코드를 지정합니다. 적중 테스트는 커서의 위치를 결정하는 테스트입니다.

point
CPoint 커서 위치의 x 및 y 화면 좌표를 포함하는 개체를 지정합니다. 이러한 좌표는 항상 화면의 왼쪽 위 모서리를 기준으로 합니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcMButtonDown

프레임워크는 커서가 비클라이언트 영역 내에 있는 동안 사용자가 마우스 가운데 단추를 누를 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcMButtonDown(
    UINT nHitTest,
    CPoint point);

매개 변수

nHitTest
적중 테스트 코드를 지정합니다. 적중 테스트는 커서의 위치를 결정하는 테스트입니다.

point
CPoint 커서 위치의 x 및 y 화면 좌표를 포함하는 개체를 지정합니다. 이러한 좌표는 항상 화면의 왼쪽 위 모서리를 기준으로 합니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcMButtonUp

프레임워크는 커서가 비클라이언트 영역 내에 있는 동안 사용자가 마우스 가운데 단추를 놓을 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcMButtonUp(
    UINT nHitTest,
    CPoint point);

매개 변수

nHitTest
적중 테스트 코드를 지정합니다. 적중 테스트는 커서의 위치를 결정하는 테스트입니다.

point
CPoint 커서 위치의 x 및 y 화면 좌표를 포함하는 개체를 지정합니다. 이러한 좌표는 항상 화면의 왼쪽 위 모서리를 기준으로 합니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcMouseHover

프레임워크는 커서가 이전 호출에 지정된 기간 동안 창의 비클라이언트 영역을 가리키면 이 멤버 함수를 호출합니다 TrackMouseEvent.

afx_msg void OnNcMouseHover(
    UINT nHitTest,
    CPoint point);

매개 변수

nHitTest
[in] 메시지를 처리한 결과로 함수에서 CWnd::DefWindowProc 반환한 적중 테스트 값입니다 WM_NCHITTEST .

point
[in] CPoint 화면의 왼쪽 위 모서리를 기준으로 커서의 xy 좌표를 지정하는 개체입니다.

설명

이 메서드는 WM_NCMOUSEHOVER Windows SDK에 설명된 알림을 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcMouseLeave

프레임워크는 커서가 이전 호출에 지정된 창의 비클라이언트 영역을 떠날 때 이 멤버 함수를 호출합니다 TrackMouseEvent.

afx_msg void OnNcMouseLeave();

설명

이 메서드는 WM_NCMOUSELEAVE Windows SDK에 설명된 알림을 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcMouseMove

프레임워크는 커서가 비클라이언트 영역 내에서 이동될 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcMouseMove(
    UINT nHitTest,
    CPoint point);

매개 변수

nHitTest
적중 테스트 코드를 지정합니다. 적중 테스트는 커서의 위치를 결정하는 테스트입니다.

point
CPoint 커서 위치의 x 및 y 화면 좌표를 포함하는 개체를 지정합니다. 이러한 좌표는 항상 화면의 왼쪽 위 모서리를 기준으로 합니다.

설명

적절한 WM_SYSCOMMAND 경우 메시지가 전송됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcPaint

프레임워크는 비클라이언트 영역을 그려야 할 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcPaint();

설명

기본 구현은 창 프레임을 그립니다.

애플리케이션은 이 호출을 재정의하고 자체 사용자 지정 창 프레임을 그릴 수 있습니다. 프레임의 모양이 변경되더라도 클리핑 영역은 항상 사각형입니다.

CWnd::OnNcRButtonDblClk

프레임워크는 커서가 비클라이언트 영역 CWnd내에 있는 동안 사용자가 마우스 오른쪽 단추를 두 번 클릭할 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcRButtonDblClk(
    UINT nHitTest,
    CPoint point);

매개 변수

nHitTest
적중 테스트 코드를 지정합니다. 적중 테스트는 커서의 위치를 결정하는 테스트입니다.

point
CPoint 커서 위치의 x 및 y 화면 좌표를 포함하는 개체를 지정합니다. 이러한 좌표는 항상 화면의 왼쪽 위 모서리를 기준으로 합니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcRButtonDown

프레임워크는 커서가 비클라이언트 영역 내에 있는 동안 사용자가 마우스 오른쪽 단추를 누를 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcRButtonDown(
    UINT nHitTest,
    CPoint point);

매개 변수

nHitTest
적중 테스트 코드를 지정합니다. 적중 테스트는 커서의 위치를 결정하는 테스트입니다.

point
CPoint 커서 위치의 x 및 y 화면 좌표를 포함하는 개체를 지정합니다. 이러한 좌표는 항상 화면의 왼쪽 위 모서리를 기준으로 합니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcRButtonUp

프레임워크는 커서가 비클라이언트 영역 내에 있는 동안 사용자가 마우스 오른쪽 단추를 놓을 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcRButtonUp(
    UINT nHitTest,
    CPoint point);

매개 변수

nHitTest
적중 테스트 코드를 지정합니다. 적중 테스트는 커서의 위치를 결정하는 테스트입니다.

point
CPoint 커서 위치의 x 및 y 화면 좌표를 포함하는 개체를 지정합니다. 이러한 좌표는 항상 화면의 왼쪽 위 모서리를 기준으로 합니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcRenderingChanged

비클라이언트 영역에 대한 렌더링 정책이 변경되면 프레임워크에서 이 멤버를 호출합니다.

afx_msg void OnNcRenderingChanged(BOOL bIsRendering);

매개 변수

bIsRendering
[in] TRUE 창의 비클라이언트 영역에 대해 DWM(Desktop Window Manager) 렌더링을 사용하도록 설정하면 이고, FALSE 렌더링을 사용할 수 없으면 입니다.

설명

이 메서드는 WM_DWMNCRENDERINGCHANGED Windows SDK에 설명된 알림을 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcXButtonDblClk

프레임워크는 사용자가 두 번 클릭 XBUTTON1 하거나 XBUTTON2 커서가 창의 비클라이언트 영역에 있는 동안 이 멤버 함수를 호출합니다.

void OnNcXButtonDblClk(
    short nHitTest,
    UINT nButton,
    CPoint point);

매개 변수

nHitTest
[in] 메시지를 처리한 결과로 함수에서 CWnd::DefWindowProc 반환한 적중 테스트 값입니다 WM_NCHITTEST .

nButton
[in] 첫 번째 Microsoft Intellimouse X 단추를 두 번 클릭하거나 XBUTTON2 두 번째 X 단추를 두 번 클릭하는 경우의 값 XBUTTON1 입니다.

point
[in] CPoint 클라이언트 영역의 x 왼쪽 위 모서리를 기준으로 커서의 좌표와 y 좌표를 지정하는 개체입니다.

설명

이 메서드는 WM_XBUTTONDBLCLK Windows SDK에 설명된 알림을 받습니다. 이 메시지는 커서가 포함된 창에 게시됩니다. 창에서 마우스를 캡처한 경우 이 메시지는 게시되지 않습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcXButtonDown

프레임워크는 커서가 창의 비클라이언트 영역에 있는 동안 사용자가 누를 때 또는 XBUTTON2 마우스를 누 XBUTTON1 를 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcXButtonDown(
    short nHitTest,
    UINT nButton,
    CPoint point);

매개 변수

nHitTest
[in] 메시지를 처리한 결과로 함수에서 CWnd::DefWindowProc 반환한 적중 테스트 값입니다 WM_NCHITTEST .

nButton
[in] 첫 번째 마우스 X 단추를 누르거나 XBUTTON2 두 번째 X 단추를 누른 경우의 값 XBUTTON1 입니다.

point
[in] CPoint 화면의 왼쪽 위 모서리를 기준으로 커서의 좌표와 y 좌표를 지정 x 하는 개체입니다.

설명

이 메서드는 WM_NCXBUTTONDOWN Windows SDK에 설명된 알림을 받습니다. 이 메시지는 커서가 포함된 창에 게시됩니다. 창에서 마우스를 캡처한 경우 이 메시지는 게시되지 않습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNcXButtonUp

프레임워크는 커서가 창의 비클라이언트 영역에 있는 동안 사용자가 마우스를 놓 XBUTTON1XBUTTON2 때 이 멤버 함수를 호출합니다.

afx_msg void OnNcXButtonUp(
    short nHitTest,
    UINT nButton,
    CPoint point);

매개 변수

nHitTest
[in] 메시지를 처리한 결과로 함수에서 CWnd::DefWindowProc 반환한 적중 테스트 값입니다 WM_NCHITTEST .

nButton
[in] 첫 번째 마우스 X 단추가 해제 XBUTTON2 되거나 두 번째 X 단추가 해제된 경우의 값 XBUTTON1 입니다.

point
[in] CPoint 화면의 왼쪽 위 모서리를 기준으로 커서의 xy 좌표를 지정하는 개체입니다.

설명

이 메서드는 WM_NCXBUTTONUP Windows SDK에 설명된 알림을 받습니다. 이 메시지는 커서가 포함된 창에 게시됩니다. 창에서 마우스를 캡처한 경우 이 메시지는 게시되지 않습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNextMenu

프레임워크는 오른쪽 또는 왼쪽 화살표 키를 사용하여 메뉴 모음과 시스템 메뉴 간에 전환할 때 이 멤버 함수를 호출합니다.

afx_msg void OnNextMenu(
    UINT nKey,
    LPMDINEXTMENU lpMdiNextMenu);

매개 변수

nKey
[in] 누를 한정자 키를 나타내는 플래그의 비트 조합(OR)입니다. 예를 들어 플래그는 MK_CONTROL Ctrl 키를 눌렀다는 것을 나타냅니다. 플래그 목록은 마우스 입력 정보에서 "메시지 매개 변수" 부제목을 참조하세요.

lpMdiNextMenu
[in] 활성화할 MDINEXTMENU 메뉴에 대한 정보가 들어 있는 구조체에 대한 포인터입니다.

설명

이 메서드는 WM_UNINITMENUPOPUP Windows SDK에 설명된 알림을 받습니다. 이 메시지에 대한 응답으로 애플리케이션은 전환할 메뉴를 지정하는 구조체의 MDINEXTMENU 멤버와 hwndNext 메뉴 알림 메시지를 받을 창을 지정하는 멤버를 설정할 hmenuNext 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnNotify

프레임워크는 이 멤버 함수를 호출하여 컨트롤에서 이벤트가 발생했거나 컨트롤에 일종의 정보가 필요하다는 것을 컨트롤의 부모 창에 알립니다.

virtual BOOL OnNotify(
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

매개 변수

wParam
메시지가 컨트롤에서 온 경우 메시지를 보내는 컨트롤을 식별합니다. 그렇지 않으면 wParam 0입니다.

lParam
알림 코드 및 추가 정보를 포함하는 알림 메시지(NMHDR) 구조체에 대한 포인터입니다. 일부 알림 메시지의 경우 이 매개 변수는 NMHDR 구조체가 첫 번째 멤버인 더 큰 구조를 가리킵니다.

pResult
LRESULT 메시지가 처리되는 경우 결과 코드를 저장할 변수에 대한 포인터입니다.

Return Value

애플리케이션이 이 메시지를 처리하는 경우 0이 아닌 값을 반환합니다. 그렇지 않으면 0입니다.

설명

OnNotify 는 제어 알림에 대한 메시지 맵을 처리합니다.

메시지를 처리하도록 파생 클래스에서 이 멤버 함수를 재정의합니다 WM_NOTIFY . 재정의는 기본 클래스 OnNotify 가 호출되지 않는 한 메시지 맵을 처리하지 않습니다.

메시지에 대한 WM_NOTIFY 자세한 내용은 Technical Note 61(TN061) ON_NOTIFYWM_NOTIFY 메시지를 참조하세요. 또한 컨트롤 항목 및 TN062, Windows 컨트롤용 메시지 리플렉션에 설명된 관련 항목에 관심이 있을 수 있습니다.

CWnd::OnNotifyFormat

프레임워크는 이 멤버 함수를 호출하여 현재 창이 알림 메시지에서 ANSI 또는 유니코드 구조를 WM_NOTIFY 허용하는지 확인합니다.

afx_msg UINT OnNotifyFormat(
    CWnd* pWnd,
    UINT nCommand);

매개 변수

pWnd
[in] 메시지를 보내는 창을 나타내는 개체에 대한 포인터 CWnd 입니다 WM_NOTIFY . 이 매개 변수는 매개 변수가 있는 경우 컨트롤에 대한 nCommand 포인터이거나 NF_QUERY컨트롤의 부모 창(있는 경우 nCommand )에 대한 포인터입니다 NF_REQUERY.

nCommand
[in] 메시지를 특수화한 명령 값입니다 WM_NOTIFY . 가능한 값은 다음과 같습니다.

  • NF_QUERY - 메시지는 ANSI 또는 유니코드 구조를 메시지에 사용해야 WM_NOTIFY 하는지 여부를 결정하는 쿼리입니다. 이 메시지는 컨트롤을 만드는 동안 및 이 메시지의 형식에 대한 응답으로 컨트롤에서 부모 창으로 NF_REQUERY 전송됩니다.
  • NF_REQUERY - 이 메시지는 컨트롤이 이 메시지의 형식을 부모 창으로 보내 NF_QUERY 도록 요청하는 요청입니다. 이 요청은 부모 창에서 전송되며, 메시지에 사용할 구조 유형에 대해 부모를 다시 쿼리하도록 컨트롤에 WM_NOTIFY 요청합니다. 매개 변수인 nCommandNF_REQUERY경우 반환 값은 다시 쿼리 작업의 결과입니다.

Return Value

반환 값 의미
NFR_ANSI ANSI 구조체는 컨트롤에서 WM_NOTIFY 보낸 메시지에 사용해야 합니다.
NFR_UNICODE 유니코드 구조는 컨트롤에서 WM_NOTIFY 보낸 메시지에 사용해야 합니다.
0 오류가 발생했습니다.

설명

이 메서드는 WM_NOTIFYFORMAT Windows SDK에 설명된 알림을 받습니다. WM_NOTIFY 메시지는 공용 컨트롤에서 부모 창으로, 부모 창에서 공용 컨트롤로 전송됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnPaint

프레임워크는 Windows 또는 애플리케이션이 애플리케이션 창의 일부를 다시 칠하도록 요청할 때 이 멤버 함수를 호출합니다.

afx_msg void OnPaint();

설명

WM_PAINT 또는 RedrawWindow 멤버 함수가 UpdateWindow 호출되면 메시지가 전송됩니다.

창은 플래그가 설정된 멤버 함수 RDW_INTERNALPAINT 를 호출 RedrawWindow 한 결과로 내부 페인트 메시지를 받을 수 있습니다. 이 경우 창에 업데이트 지역이 없을 수 있습니다. 애플리케이션은 멤버 함수를 GetUpdateRect 호출하여 창에 업데이트 지역이 있는지 여부를 확인해야 합니다. 0을 반환하는 경우 GetUpdateRect 애플리케이션은 및 EndPaint 멤버 함수를 BeginPaint 호출하면 안 됩니다.

메시지가 잘못된 영역과 플래그가 설정된 멤버 함수에 대한 호출 RedrawWindow 로 인해 발생했을 수 있으므로 WM_PAINTWM_PAINT 메시지에 대한 내부 데이터 구조를 확인하여 필요한 내부 다시 그리기 또는 업데이트에 대해 검사 것은 애플리케이션의 RDW_INTERNALPAINT 책임입니다.

내부 WM_PAINT 메시지는 Windows에서 한 번만 전송됩니다. 멤버 함수가 내부 WM_PAINT 메시지를 창으로 UpdateWindow 보낸 후에는 창이 무효화되거나 플래그 집합을 사용하여 멤버 함수가 다시 RDW_INTERNALPAINT 호출될 때까지 RedrawWindow 추가 WM_PAINT 메시지가 전송되거나 게시되지 않습니다.

문서/보기 애플리케이션에서 이미지를 렌더링하는 방법에 대한 자세한 내용은 다음을 참조하세요 CView::OnDraw.

사용에 WM_Paint대한 자세한 내용은 Windows SDK에서 다음 항목을 참조하세요.

CWnd::OnPaintClipboard

클립보드 소유자의 OnPaintClipboard 멤버 함수는 클립보드 소유자가 CF_OWNERDISPLAY 형식으로 클립보드에 데이터를 배치했으며 클립보드 뷰어의 클라이언트 영역을 다시 그려야 하는 경우 클립보드 뷰어에서 호출됩니다.

afx_msg void OnPaintClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hPaintStruct);

매개 변수

pClipAppWnd
클립보드 애플리케이션 창에 대한 포인터를 지정합니다. 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

hPaintStruct
PAINTSTRUCT 그릴 클라이언트 영역의 부분을 정의하는 데이터 구조를 식별합니다.

설명

전체 클라이언트 영역 또는 그 중 일부만 다시 그려야 하는지 여부를 확인하려면 클립보드 소유자는 구조체의 멤버에 rcpaint 지정된 드로잉 영역의 PAINTSTRUCT 차원을 가장 최근의 OnSizeClipboard 멤버 함수 호출에 지정된 차원과 비교해야 합니다.

OnPaintClipboard 는 Windows 함수를 GlobalLock 사용하여 데이터 구조가 포함된 메모리를 PAINTSTRUCT 잠그고 종료하기 전에 Windows 함수를 사용하여 해당 메모리의 GlobalUnlock 잠금을 해제해야 합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnPaletteChanged

프레임워크는 입력 포커스가 있는 창이 논리 팔레트를 실현하여 시스템 팔레트를 변경한 후 모든 최상위 창에 대해 이 멤버 함수를 호출합니다.

afx_msg void OnPaletteChanged(CWnd* pFocusWnd);

매개 변수

pFocusWnd
시스템 팔레트가 변경된 창에 대한 포인터를 지정합니다. 포인터는 일시적일 수 있으며 저장해서는 안 됩니다.

설명

이 호출을 사용하면 색상표를 사용하여 논리 팔레트를 실현하고 클라이언트 영역을 업데이트하는 입력 포커스가 없는 창을 사용할 수 있습니다.

OnPaletteChanged 멤버 함수는 시스템 팔레트를 변경하고 메시지를 전송한 창을 포함하여 모든 최상위 및 겹치는 창에 WM_PALETTECHANGED 대해 호출됩니다. 자식 창에서 색상표를 사용하는 경우 이 메시지를 전달해야 합니다.

무한 루프를 방지하기 위해 창은 자체에 대한 포인터를 포함하지 않는 것으로 결정 pFocusWnd 하지 않는 한 해당 색상표를 인식할 수 없습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnPaletteIsChanging

프레임워크는 이 멤버 함수를 호출하여 애플리케이션이 논리 팔레트를 실현할 것임을 애플리케이션에 알립니다.

afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);

매개 변수

pRealizeWnd
논리 팔레트를 실현할 창을 지정합니다.

설명

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnParentNotify

부모 OnParentNotify 멤버 함수는 자식 창이 만들어지거나 제거되거나 커서가 자식 창 위에 있는 동안 사용자가 마우스 단추를 클릭할 때 프레임워크에서 호출됩니다.

afx_msg void OnParentNotify(
    UINT message,
    LPARAM lParam);

매개 변수

message
부모에 대한 알림을 받는 이벤트와 자식 창의 식별자를 지정합니다. 이벤트는 낮은 순서의 단어입니다 message. 이벤트가 WM_CREATE 거나 WM_DESTROY상위 단어는 message 자식 창의 식별자이고, 그렇지 않으면 상위 단어가 정의되지 않습니다. 이벤트(하위 단어 message)는 다음 값 중 어느 것이든 될 수 있습니다.

  • WM_CREATE 자식 창이 만들어지고 있습니다.

  • WM_DESTROY 자식 창이 제거되고 있습니다.

  • WM_LBUTTONDOWN 사용자가 마우스 커서를 자식 창 위에 놓고 마우스 왼쪽 단추를 클릭했습니다.

  • WM_MBUTTONDOWN 사용자가 마우스 커서를 자식 창 위에 놓고 마우스 가운데 단추를 클릭했습니다.

  • WM_RBUTTONDOWN 사용자가 마우스 커서를 자식 창 위에 놓고 마우스 오른쪽 단추를 클릭했습니다.

lParam
이벤트(낮은 순서 단어)가 자식 창의 WM_CREATEmessage 창 핸들을 지정하거나 WM_DESTROYlParam 자식 창의 창 핸들을 지정하는 경우 커서 lParam 의 x 및 y 좌표를 포함합니다. x 좌표는 낮은 순서의 단어에 있고 y 좌표는 상위 단어에 있습니다.

설명

자식 창을 만들 때 시스템은 창을 만드는 멤버 함수가 반환되기 바로 전에 Create 호출 OnParentNotify 합니다. 자식 창이 제거될 때 시스템은 처리가 이루어지기 전에 호출 OnParentNotify 하여 창을 삭제합니다.

OnParentNotify 는 최상위 창을 포함하여 자식 창의 모든 상위 창에 대해 호출됩니다.

스타일이 있는 창을 제외한 모든 자식 창은 WS_EX_NOPARENTNOTIFY 이 메시지를 부모 창으로 보냅니다. 기본적으로 대화 상자의 자식 창에는 멤버 함수를 WS_EX_NOPARENTNOTIFY 호출하여 이 스타일 없이 자식 창을 만들지 않는 한 스타일이 CreateEx 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnPowerBroadcast

프레임워크는 전원 관리 이벤트가 발생할 때 이 멤버 함수를 호출합니다.

afx_msg UINT OnPowerBroadcast(
    UINT nPowerEvent,
    UINT nEventData);

매개 변수

nPowerEvent
[in] 전원 관리 이벤트입니다.

nEventData
[in] 이벤트별 데이터입니다.

Return Value

이벤트가 요청인 경우 요청을 부여하거나 BROADCAST_QUERY_DENY 요청을 거부하도록 반환 TRUE 합니다.

설명

이 메서드는 WM_POWERBROADCAST Windows SDK에 설명된 메시지를 받습니다.

매개 변수는 nPowerEvent 배터리 전원이 부족하거나, 전원 상태 변경되었거나, 작업을 일시 중단할 수 있는 권한이 요청되거나 거부되거나, 이벤트가 발생한 후 작업이 자동으로 다시 시작되거나, 시스템이 작업을 일시 중단하거나, 일시 중단 후 작업이 재개되는 등의 이벤트를 지정합니다. nEventData 매개 변수는 일반적으로 사용되지 않습니다. 자세한 내용은 메시지의 wParam 매개 변수와 lParam 매개 변수를 참조하세요 WM_POWERBROADCAST .

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnQueryDragIcon

프레임워크는 클래스에 대해 정의된 아이콘이 없는 최소화된(아이콘) 창으로 이 멤버 함수를 호출합니다.

afx_msg HCURSOR OnQueryDragIcon();

Return Value

낮은 순서의 단어에 커서 또는 아이콘 핸들이 들어 있는 이중 단어 값입니다. 커서 또는 아이콘은 디스플레이 드라이버의 해상도와 호환되어야 합니다. 애플리케이션이 반환 NULL되면 시스템에서 기본 커서를 표시합니다. 기본 반환 값은 .입니다 NULL.

설명

시스템에서 이 호출을 수행하여 사용자가 최소화된 창을 끄는 동안 표시할 커서를 가져옵니다. 애플리케이션에서 아이콘 또는 커서의 핸들을 반환하는 경우 시스템에서 아이콘을 흑백으로 변환합니다. 애플리케이션이 핸들을 반환하는 경우 핸들은 디스플레이 드라이버의 해상도와 호환되는 단색 커서 또는 아이콘을 식별해야 합니다. 애플리케이션은 또는 CWinApp::LoadIcon 멤버 함수를 호출 CWinApp::LoadCursor 하여 실행 파일의 리소스에서 커서 또는 아이콘을 로드하고 이 핸들을 가져올 수 있습니다.

CWnd::OnQueryEndSession

프레임워크는 사용자가 Windows 세션을 종료하도록 선택하거나 애플리케이션이 Windows 함수를 호출할 때 이 멤버 함수를 ExitWindows 호출합니다.

afx_msg BOOL OnQueryEndSession();

Return Value

애플리케이션을 편리하게 종료할 수 있는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

애플리케이션이 0을 반환하면 Windows 세션이 종료되지 않습니다. Windows는 한 애플리케이션이 0을 반환하는 즉시 호출 OnQueryEndSession 을 중지하고 이미 0이 아닌 애플리케이션에 FALSE 대한 매개 변수 값이 포함된 메시지를 보냅니 WM_ENDSESSION 다.

CWnd::OnQueryNewPalette

프레임워크는 개체가 입력 포커스를 수신하려고 할 때 CWnd 이 멤버 함수를 호출하여 포커스를 받을 때 논리적 팔레트를 실현할 수 있는 기회를 제공합니다 CWnd .

afx_msg BOOL OnQueryNewPalette();

Return Value

논리 팔레트가 CWnd 실현되면 0이 아니고, 그렇지 않으면 0입니다.

CWnd::OnQueryOpen

프레임워크는 개체가 CWnd 최소화되고 사용자가 미리 이미지화된 크기와 위치로 복원하도록 요청할 CWnd 때 이 멤버 함수를 호출합니다.

afx_msg BOOL OnQueryOpen();

Return Value

아이콘을 열 수 있으면 0이 아니고 아이콘이 열리지 않도록 0이 됩니다.

설명

있는 동안 활성화 OnQueryOpenCWnd 또는 포커스 변경(예: 대화 상자 만들기)을 발생시키는 작업을 수행해서는 안 됩니다.

CWnd::OnQueryUIState

창에 대한 UI(사용자 인터페이스) 상태를 검색 하기 위해 호출됩니다.

afx_msg UINT OnQueryUIState();

Return Value

반환 값은 NULL 포커스 표시기와 키보드 가속기가 표시되는 경우입니다. 그렇지 않으면 반환 값은 다음 값 중 하나 이상이 될 수 있습니다.

  • UISF_HIDEFOCUS 포커스 표시기가 숨겨집니다.

  • UISF_HIDEACCEL 키보드 가속기가 숨겨집니다.

  • UISF_ACTIVE Windows XP: 활성 컨트롤에 사용되는 스타일로 컨트롤을 그려야 합니다.

설명

이 멤버 함수는 Windows SDK에 WM_QUERYUISTATE 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CWnd::OnRawInput

프레임워크는 현재 창이 원시 입력을 받을 때 이 멤버 함수를 호출합니다.

afx_msg void OnRawInput(
    UINT nInputCode,
    HRAWINPUT hRawInput);

매개 변수

nInputCode
[in] 애플리케이션이 포그라운드에 있는 동안 입력이 발생했는지 여부를 나타내는 입력 코드입니다. 두 경우 모두 시스템에서 클린 수행할 수 있도록 애플리케이션이 호출 CWnd::DefWindowProc 해야 합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

  • RIM_INPUT - 애플리케이션이 포그라운드에 있는 동안 입력이 발생했습니다.
  • RIM_INPUTSINK - 애플리케이션이 포그라운드에 없는 동안 입력이 발생했습니다.

hRawInput
[in] 디바이스의 RAWINPUT 원시 입력을 포함하는 구조체에 대한 핸들입니다.

설명

이 메서드는 WM_INPUT Windows SDK에 설명된 알림을 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnRButtonDblClk

프레임워크는 사용자가 마우스 오른쪽 단추를 두 번 클릭할 때 이 멤버 함수를 호출합니다.

afx_msg void OnRButtonDblClk(
    UINT nFlags,
    CPoint point);

매개 변수

nFlags
다양한 가상 키가 눌러져 있는지 여부를 나타냅니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • MK_CONTROL Ctrl 키가 다운되었는지 설정합니다.

  • MK_LBUTTON 마우스 왼쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_MBUTTON 마우스 가운데 단추가 아래쪽에 있으면 설정합니다.

  • MK_RBUTTON 마우스 오른쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_SHIFT SHIFT 키가 다운된 경우 설정합니다.

point
커서의 x 및 y 좌표를 지정합니다. 이러한 좌표는 항상 창의 왼쪽 위 모서리를 기준으로 합니다.

설명

CS_DBLCLKS WNDCLASS 스타일이 있는 창만 호출을 받을 OnRButtonDblClk 수 있습니다. Microsoft Foundation 클래스 라이브러리 내의 창에 대한 기본값입니다. Windows는 사용자가 시스템의 두 번 클릭 시간 제한 내에서 마우스 오른쪽 단추를 누를 때 호출 OnRButtonDblClk 합니다. 마우스 오른쪽 단추를 두 번 클릭하면 실제로 단추를 놓을 때 메시지, OnRButtonDblClk 통화 및 다른 WM_RBUTTONUP 메시지의 네 가지 이벤트가 WM_RBUTTONDOWNWM_RBUTTONUP 생성됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnRButtonDown

프레임워크는 사용자가 마우스 오른쪽 단추를 누를 때 이 멤버 함수를 호출합니다.

afx_msg void OnRButtonDown(
    UINT nFlags,
    CPoint point);

매개 변수

nFlags
다양한 가상 키가 눌러져 있는지 여부를 나타냅니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • MK_CONTROL Ctrl 키가 다운되었는지 설정합니다.

  • MK_LBUTTON 마우스 왼쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_MBUTTON 마우스 가운데 단추가 아래쪽에 있으면 설정합니다.

  • MK_RBUTTON 마우스 오른쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_SHIFT SHIFT 키가 다운된 경우 설정합니다.

point
커서의 x 및 y 좌표를 지정합니다. 이러한 좌표는 항상 창의 왼쪽 위 모서리를 기준으로 합니다.

설명

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnRButtonUp

프레임워크는 사용자가 마우스 오른쪽 단추를 놓을 때 이 멤버 함수를 호출합니다.

afx_msg void OnRButtonUp(
    UINT nFlags,
    CPoint point);

매개 변수

nFlags
다양한 가상 키가 눌러져 있는지 여부를 나타냅니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • MK_CONTROL Ctrl 키가 다운되었는지 설정합니다.

  • MK_LBUTTON 마우스 왼쪽 단추가 아래쪽에 있으면 설정합니다.

  • MK_MBUTTON 마우스 가운데 단추가 아래쪽에 있으면 설정합니다.

  • MK_SHIFT SHIFT 키가 다운된 경우 설정합니다.

point
커서의 x 및 y 좌표를 지정합니다. 이러한 좌표는 항상 창의 왼쪽 위 모서리를 기준으로 합니다.

설명

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnRegisteredMouseWheel

프레임워크는 사용자가 마우스 휠을 회전하고 휠의 다음 노치를 발견할 때 이 멤버 함수를 호출합니다.

afx_msg LRESULT OnRegisteredMouseWheel(
    WPARAM wParam,
    LPARAM lParam);

매개 변수

wParam
포인터의 가로 위치입니다.

lParam
포인터의 세로 위치입니다.

Return Value

이 시점에서 중요하지 않습니다. 항상 0입니다.

설명

재정 OnRegisteredMouseWheel 의되지 않는 한 메시지를 적절한 창(포커스가 있는 부모 창)으로 라우팅하고 해당 창에 WM_MOUSEWHEEL 대한 처리기를 호출합니다.

사용자 고유의 메시지 라우팅을 제공하거나 마우스 휠 스크롤 동작을 변경하려면 이 멤버 함수를 재정의합니다.

참고 항목

OnRegisteredMouseWheel 는 Windows 95/98 및 Windows NT 3.51에 대한 메시지를 처리합니다. Windows NT 4.0 메시지 처리의 OnMouseWheel경우 .

CWnd::OnRenderAllFormats

클립보드 소유자의 OnRenderAllFormats 멤버 함수는 소유자 애플리케이션이 제거될 때 프레임워크에서 호출됩니다.

afx_msg void OnRenderAllFormats();

설명

클립보드 소유자는 생성할 수 있는 모든 형식으로 데이터를 렌더링하고 Windows 함수를 호출 SetClipboardData 하여 각 형식에 대한 데이터 핸들을 클립보드에 전달해야 합니다. 이렇게 하면 데이터를 렌더링한 애플리케이션이 제거되더라도 클립보드에 유효한 데이터가 포함됩니다. 애플리케이션은 Windows 함수를 OpenClipboard 호출하기 전에 멤버 함수를 SetClipboardData 호출하고 나중에 Windows 함수를 CloseClipboard 호출해야 합니다.

CWnd::OnRenderFormat

지연된 렌더링이 있는 특정 형식을 렌더링해야 하는 경우 프레임워크에서 클립보드 소유자의 OnRenderFormat 멤버 함수를 호출합니다.

afx_msg void OnRenderFormat(UINT nFormat);

매개 변수

nFormat
클립보드 형식을 지정합니다.

설명

수신기는 해당 형식의 데이터를 렌더링하고 Windows 함수를 호출하여 클립보드에 SetClipboardData 전달해야 합니다.

내에서 OnRenderFormat멤버 함수 또는 Windows 함수를 CloseClipboard 호출 OpenClipboard 하지 마세요.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnSessionChange

프레임워크는 이 멤버 함수를 호출하여 애플리케이션에 세션 상태 변경을 알립니다.

afx_msg void OnSessionChange(
    UINT nSessionState,
    UINT nId);

매개 변수

nSessionState
[in] 상태 코드는 세션 상태 변경을 설명합니다.

nId
[in] 세션 식별자입니다.

설명

이 메서드는 WM_WTSSESSION_CHANGE Windows SDK에 설명된 알림을 받습니다.

매개 변수는 nSessionState 세션이 콘솔 또는 원격 터미널에서 연결되거나 연결이 끊어지거나, 사용자가 로그온하거나 끄거나, 세션이 잠겨 있거나 잠금 해제되었거나, 세션이 원격 제어 상태 변경되었음을 지정합니다. 자세한 내용은 메시지의 wParam 매개 변수를 참조하세요 WM_WTSSESSION_CHANGE .

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnSetCursor

마우스 입력이 캡처되지 않고 마우스가 개체 내에서 커서 이동을 유발하는 경우 프레임워크는 이 멤버 함수를 CWnd 호출합니다.

afx_msg BOOL OnSetCursor(
    CWnd* pWnd,
    UINT nHitTest,
    UINT message);

매개 변수

pWnd
커서가 포함된 창에 대한 포인터를 지정합니다. 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

nHitTest
적중 테스트 영역 코드를 지정합니다. 적중 테스트는 커서의 위치를 결정합니다.

message
마우스 메시지 번호를 지정합니다.

Return Value

추가 처리를 중지하려면 0이 아니고 계속하려면 0입니다.

설명

기본 구현은 처리하기 전에 부모 창을 OnSetCursor 호출합니다. 부모 창이 반환 TRUE되면 추가 처리가 중지됩니다. 부모 창을 호출하면 부모 창에서 자식 창의 커서 설정을 제어할 수 있습니다.

기본 구현은 클라이언트 영역에 없는 경우 화살표로 커서를 설정하거나 등록된 클래스 커서(있는 경우)로 설정합니다.

HTERROR 마우스 단추 아래쪽 메시지인 message 경우 nHitTest 멤버 함수가 MessageBeep 호출됩니다.

메뉴 모드로 전환할 때 CWnd 메시지 매개 변수는 0입니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnSetFocus

프레임워크는 입력 포커스를 얻은 후 이 멤버 함수를 호출합니다.

afx_msg void OnSetFocus(CWnd* pOldWnd);

매개 변수

pOldWnd
입력 포커스가 CWnd 손실되는 개체를 포함합니다(있을 수 있음 NULL). 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

캐리트를 CWnd 표시하려면 이 시점에서 적절한 캐리트 함수를 호출해야 합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnSettingChange

Win32 SystemParametersInfo 함수가 시스템 전체 설정을 변경하는 경우 프레임워크는 모든 최상위 창을 호출 OnSettingChange 합니다.

afx_msg void OnSettingChange(
    UINT uFlags,
    LPCTSTR lpszSection);

매개 변수

uFlags
시스템에서 호출 결과로 SystemParametersInfo 메시지를 보낼 때 이 매개 변수는 변경된 시스템 매개 변수를 나타내는 플래그입니다. 값 목록은 Windows SDK를 참조 SystemParametersInfo 하세요. 애플리케이션에서 메시지를 보낼 때 이 매개 변수는 0이어야 합니다.

lpszSection
변경된 섹션의 이름을 지정하는 문자열을 가리킵니다. (문자열에는 구역 이름을 묶는 대괄호가 포함되지 않습니다.)

설명

애플리케이션은 시스템 매개 변수를 변경할 때 모든 최상위 창에 메시지를 보내야 하며, 사용자가 제어판 통해 설정을 변경하면 Windows에서 메시지를 보냅니다.

메시지는 ON_WM_SETTINGCHANGE 메시지와 유사하며 ON_WM_WININICHANGE 다음과 같은 차이점이 있습니다.

  • Windows NT 4.0 이상 또는 Windows 95/98에서 실행할 때 사용합니다 ON_WM_SETTINGCHANGE .

  • Windows NT 3.51 이상을 실행할 때 사용합니다 ON_WININICHANGE . 이 메시지는 이제 사용되지 않습니다.

메시지 맵에 이러한 매크로 중 하나만 있어야 합니다. Windows 95/98 및 Windows NT 4.0 모두에 대해 작동하는 프로그램을 작성하려면 에 대한 ON_WM_SETTINGCHANGE처리기를 작성합니다. Windows NT 3.51에서 처리기가 호출 OnSettingChange 되고 uFlags 항상 0이 됩니다.

CWnd::OnShowWindow

개체를 숨기거나 표시하려고 할 때 CWnd 프레임워크에서 이 멤버 함수를 호출합니다.

afx_msg void OnShowWindow(
    BOOL bShow,
    UINT nStatus);

매개 변수

bShow
창이 표시되는지 여부를 지정합니다. 창이 TRUE 표시되는 경우이며, 창이 숨겨져 있는 경우입니다 FALSE .

nStatus
표시되는 창의 상태 지정합니다. 멤버 함수 호출로 인해 ShowWindow 메시지가 전송되면 0이고, 그렇지 않으면 nStatus 다음 중 하나입니다.

  • SW_PARENTCLOSING 부모 창이 닫히거나(아이콘으로 설정됨) 팝업 창이 숨겨져 있습니다.

  • SW_PARENTOPENING 부모 창이 열리거나(표시 중) 팝업 창이 표시됩니다.

설명

멤버 함수가 호출되거나, 겹치는 창이 최대화 또는 복원되거나, 겹치거나 팝업 창이 닫히거나(아이콘으로 표시됨) 열려 있거나(화면에 표시됨) 창이 숨겨지거나 표시됩니다 ShowWindow . 겹치는 창이 닫히면 해당 창과 연결된 모든 팝업 창이 숨겨집니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnSize

프레임워크는 창의 크기가 변경된 후 이 멤버 함수를 호출합니다.

afx_msg void OnSize(
    UINT nType,
    int cx,
    int cy);

매개 변수

nType
요청된 크기 조정 유형을 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

  • SIZE_MAXIMIZED 창이 최대화되었습니다.

  • SIZE_MINIMIZED 창이 최소화되었습니다.

  • SIZE_RESTORED 창의 크기가 조정되었지만 적용되지도 SIZE_MINIMIZED 않습니다 SIZE_MAXIMIZED .

  • SIZE_MAXHIDE 다른 창이 최대화되면 메시지가 모든 팝업 창으로 전송됩니다.

  • SIZE_MAXSHOW 다른 창이 이전 크기로 복원되면 메시지가 모든 팝업 창으로 전송됩니다.

cx
클라이언트 영역의 새 너비를 지정합니다.

cy
클라이언트 영역의 새 높이를 지정합니다.

설명

SetScrollPos 자식 창에 bRedrawOnSize대해 또는 MoveWindow 멤버 함수가 호출되는 경우 매개 변수의 SetScrollPos 매개 변수가 0이 CWnd 아니어야 MoveWindow 다시 그려집니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

예시

// Resize the edit control contained in the view to
// fill the entire view when the view's window is
// resized. CMdiView is a CView derived class.
void CMdiView::OnSize(UINT nType, int cx, int cy)
{
   CView::OnSize(nType, cx, cy);
   // Resize edit to fill the whole view.
   // OnSize can be called before OnInitialUpdate
   // so make sure the edit control has been created.
   if (::IsWindow(m_Edit.GetSafeHwnd()))
   {
      m_Edit.MoveWindow(0, 0, cx, cy);
   }
}

CWnd::OnSizeClipboard

클립보드 소유자의 OnSizeClipboard 멤버 함수는 클립보드 뷰어에 특성이 포함된 CF_OWNERDISPLAY 데이터가 포함되어 있고 클립보드 뷰어 창의 클라이언트 영역 크기가 변경된 경우 클립보드 뷰어에서 호출됩니다.

afx_msg void OnSizeClipboard(
    CWnd* pClipAppWnd,
    HGLOBAL hRect);

매개 변수

pClipAppWnd
클립보드 애플리케이션 창을 식별합니다. 포인터는 일시적일 수 있으며 저장해서는 안 됩니다.

hRect
전역 메모리 개체를 식별합니다. 메모리 개체에는 RECT 클립보드 소유자가 그릴 영역을 지정하는 데이터 구조가 포함되어 있습니다.

설명

OnSizeClipboard 멤버 함수는 클립보드 애플리케이션을 제거하거나 최소화하려고 할 때 null 사각형(0,0,0,0)을 새 크기로 호출합니다. 이렇게 하면 클립보드 소유자가 표시 리소스를 해제할 수 있습니다.

내에서 OnSizeClipboard애플리케이션은 Windows 함수를 GlobalLock 사용하여 데이터 구조를 포함하는 메모리를 RECT 잠가야 합니다. 애플리케이션이 컨트롤을 생성하거나 반환하기 전에 Windows 함수를 사용하여 GlobalUnlock 해당 메모리의 잠금을 해제합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnSizing

프레임워크는 이 멤버 함수를 호출하여 사용자가 사각형의 크기를 조정하고 있음을 나타냅니다.

afx_msg void OnSizing(
    UINT nSide,
    LPRECT lpRect);

매개 변수

nSide
이동할 창의 가장자리입니다.

lpRect
항목의 CRect 좌표를 포함할 구조 RECT 체의 주소입니다.

설명

애플리케이션은 이 메시지를 처리하여 끌기 사각형의 크기와 위치를 모니터링하고 필요한 경우 크기 또는 위치를 변경할 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

예시

void CSplitChildFrm::OnSizing(UINT fwSide, LPRECT pRect)
{
   CMDIChildWnd::OnSizing(fwSide, pRect);

   // Resize the splitter window in the frame. m_wndSplitter is of 
   // type CSplitterWnd
   int nWidth = (pRect->right) - (pRect->left);
   m_wndSplitter.SetColumnInfo(0, nWidth / 2, 10);
   m_wndSplitter.SetColumnInfo(1, nWidth / 2, 10);
   m_wndSplitter.RecalcLayout();
}

CWnd::OnSpoolerStatus

프레임워크는 작업이 Print Manager 큐에 추가되거나 제거될 때마다 Print Manager에서 이 멤버 함수를 호출합니다.

afx_msg void OnSpoolerStatus(
    UINT nStatus,
    UINT nJobs);

매개 변수

nStatus
플래그를 SP_JOBSTATUS 지정합니다.

nJobs
인쇄 관리자 큐에서 다시 기본 작업 수를 지정합니다.

설명

이 호출은 정보 제공 용도로만 사용됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnStyleChanged

프레임워크는 함수가 SetWindowLong 창의 스타일 중 하나 이상을 변경한 후 이 멤버 함수를 호출합니다.

afx_msg void OnStyleChanged(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

매개 변수

nStyleType
창의 확장 스타일 또는 비동기 스타일이 변경되었는지 여부를 지정합니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • GWL_EXSTYLE 창의 확장 스타일이 변경되었습니다.

  • GWL_STYLE 창의 비동기 스타일이 변경되었습니다.

lpStyleStruct
창에 STYLESTRUCT 대한 새 스타일이 포함된 구조를 가리킵니다. 애플리케이션은 스타일을 검사할 수 있지만 변경할 수는 없습니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnStyleChanging

함수가 창의 스타일 중 하나 이상을 변경하려고 할 때 SetWindowLong 프레임워크는 이 멤버 함수를 호출합니다.

afx_msg void OnStyleChanging(
    int nStyleType,
    LPSTYLESTRUCT lpStyleStruct);

매개 변수

nStyleType
창의 확장 스타일 또는 비동기 스타일이 변경되었는지 여부를 지정합니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

  • GWL_EXSTYLE 창의 확장 스타일이 변경되었습니다.

  • GWL_STYLE 창의 비동기 스타일이 변경되었습니다.

lpStyleStruct
창에 STYLESTRUCT 대한 새 스타일이 포함된 구조를 가리킵니다. 애플리케이션은 스타일을 검사하고 변경할 수 있습니다.

설명

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnSysChar

프레임워크는 입력 포커스가 있고 메시지와 WM_SYSKEYDOWN 메시지가 번역되는 경우 CWnd 이 멤버 함수를 WM_SYSKEYUP 호출합니다.

afx_msg void OnSysChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

매개 변수

nChar
Control-menu 키의 ASCII 문자 키 코드를 지정합니다.

nRepCnt
반복 횟수를 지정합니다. 즉, 키를 누른 사용자의 결과로 키 입력이 반복되는 횟수를 지정합니다.

nFlags
매개 변수에는 nFlags 다음 값이 있을 수 있습니다.

의미
0-15 반복 횟수를 지정합니다. 값은 키를 누른 사용자의 결과로 키 입력이 반복되는 횟수입니다.
16-23 검사 코드를 지정합니다. 값은 OEM(원래 장비 제조업체)에 따라 달라집니다.
24 키가 확장된 101 키 또는 102 키 키보드에 표시되는 오른쪽 Alt 키 및 Ctrl 키와 같은 확장 키인지 여부를 지정합니다. 확장 키면 값이 1이고 확장 키가 아니면 0입니다.
25-28 Windows에서 내부적으로 사용됩니다.
29 컨텍스트 코드를 지정합니다. 키를 누른 상태에서 Alt 키를 누르면 값이 1이고 그러지 않으면 0입니다.
30 이전 키 상태를 지정합니다. 메시지가 전송되기 전에 키가 눌려져 있으면 값이 1이고 키가 눌려져 있지 않으면 0입니다.
31 전환 상태를 지정합니다. 키를 놓고 있으면 값이 1이고 키를 누르고 있으면 0입니다.

설명

컨트롤 메뉴 키의 가상 키 코드를 지정합니다. (표준 가상 키 코드 목록은 Winuser.h를 참조하세요.)

컨텍스트 코드가 0 WM_SYSCHAR 이면 Windows 함수에 TranslateAccelerator 메시지를 전달할 WM_SYSCHAR 수 있습니다. 이 함수는 시스템 문자 키 대신 일반 키 메시지인 것처럼 처리합니다. 이렇게 하면 활성 창에 입력 포커스가 없는 경우에도 활성 창에서 액셀러레이터 키를 사용할 수 있습니다.

IBM Enhanced 101 및 102 키 키보드의 경우 고급 키는 키보드의 기본 섹션에 있는 오른쪽 Alt 키와 오른쪽 Ctrl 키, 숫자 키패드의 왼쪽에 있는 클러스터의 INS, DEL, HOME, END, PAGE UP, PAGE DOWN 및 화살표 키, 숫자 키패드의 슬래시(/) 및 ENTER 키입니다. 일부 다른 키보드는 .에서 nFlags확장 키 비트를 지원할 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnSysColorChange

프레임워크는 시스템 색 설정에서 변경이 수행되면 모든 최상위 창에 대해 이 멤버 함수를 호출합니다.

afx_msg void OnSysColorChange();

설명

Windows는 시스템 색 변경의 영향을 받는 모든 창을 호출 OnSysColorChange 합니다.

기존 시스템 색을 사용하는 브러시가 있는 애플리케이션은 해당 브러시를 삭제하고 새 시스템 색으로 다시 만들어야 합니다.

CWnd::OnSysCommand

프레임워크는 사용자가 컨트롤 메뉴에서 명령을 선택하거나 사용자가 최대화 또는 최소화 단추를 선택할 때 이 멤버 함수를 호출합니다.

afx_msg void OnSysCommand(
    UINT nID,
    LPARAM lParam);

매개 변수

nID
요청된 시스템 명령의 유형을 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

  • SC_CLOSE 개체를 닫습니다 CWnd .

  • SC_HOTKEYCWnd 애플리케이션에서 지정한 핫 키와 연결된 개체를 활성화합니다. 낮은 순서의 lParam 단어는 활성화할 창의 식별을 나타냅니다 HWND .

  • SC_HSCROLL 가로로 스크롤합니다.

  • SC_KEYMENU 키 입력을 통해 메뉴를 검색합니다.

  • SC_MAXIMIZE (또는 SC_ZOOM) 개체를 CWnd 최대화합니다.

  • SC_MINIMIZE (또는 SC_ICON) 개체를 CWnd 최소화합니다.

  • SC_MOUSEMENU 마우스 클릭을 통해 메뉴를 검색합니다.

  • SC_MOVE 개체를 CWnd 이동합니다.

  • SC_NEXTWINDOW 다음 창으로 이동합니다.

  • SC_PREVWINDOW 이전 창으로 이동합니다.

  • SC_RESTORE 창을 일반 위치 및 크기로 복원합니다.

  • SC_SCREENSAVE 파일의 [부팅] 섹션에 지정된 화면 보호기 애플리케이션을 실행합니다 SYSTEM.INI .

  • SC_SIZE 개체의 크기를 조정 CWnd 합니다.

  • SC_TASKLIST Windows 작업 관리자 애플리케이션을 실행하거나 활성화합니다.

  • SC_VSCROLL 세로로 스크롤합니다.

lParam
컨트롤 메뉴 명령을 마우스 lParam 로 선택하면 커서 좌표가 포함됩니다. 하위 단어에는 x 좌표가 포함되고 상위 단어에는 y 좌표가 포함됩니다. 그렇지 않으면 이 매개 변수가 사용되지 않습니다.

  • SC_HOTKEY 애플리케이션에서 지정한 핫 키와 연결된 창을 활성화합니다. 낮은 순서의 lParam 단어는 활성화할 창을 식별합니다.

  • SC_SCREENSAVE제어판 바탕 화면 섹션에 지정된 화면 저장 애플리케이션을 실행합니다.

설명

기본적으로 OnSysCommand 이전 표에 지정된 미리 정의된 작업에 대한 제어 메뉴 요청을 수행합니다.

메시지에서 WM_SYSCOMMAND 매개 변수의 nID 4개의 하위 비트는 Windows에서 내부적으로 사용됩니다. 애플리케이션이 nID값을 테스트할 때 비트 AND 연산자를 사용하여 0xFFF0 값을 값과 nID 결합하여 올바른 결과를 얻어야 합니다.

컨트롤 메뉴의 메뉴 항목은 , AppendMenuInsertMenuModifyMenu 멤버 함수를 GetSystemMenu사용하여 수정할 수 있습니다. 제어 메뉴를 수정하는 애플리케이션은 메시지를 처리 WM_SYSCOMMAND 해야 하며 애플리케이션에서 처리하지 않는 모든 WM_SYSCOMMAND 메시지를 전달 OnSysCommand해야 합니다. 애플리케이션에서 추가한 모든 명령 값은 애플리케이션에서 처리해야 하며 전달 OnSysCommand될 수 없습니다.

애플리케이션에 메시지를 OnSysCommand전달 WM_SYSCOMMAND 하여 언제든지 시스템 명령을 수행할 수 있습니다.

제어 메뉴에서 항목을 선택하도록 정의된 바로 가기 키 입력은 호출로 OnSysCommand 변환되고 다른 모든 액셀러레이터 키 입력은 메시지로 WM_COMMAND 변환됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnSysDeadChar

개체에 입력 포커스가 있는 경우 또는 OnSysKeyDown 멤버 함수가 CWnd 호출되면 프레임워크에서 이 멤버 함수를 OnSysKeyUp 호출합니다.

afx_msg void OnSysDeadChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

매개 변수

nChar
배달 못 한 키 문자 값을 지정합니다.

nRepCnt
반복 횟수를 지정합니다.

nFlags
다음 목록에 표시된 것처럼 검사 코드, 키 전환 코드, 이전 키 상태 및 컨텍스트 코드를 지정합니다.

의미
0-7 스캔 코드(OEM 종속 값). 상위 단어의 낮은 바이트입니다.
8 함수 키 또는 숫자 키패드의 키와 같은 확장 키(확장 키인 경우 1, 그렇지 않으면 0).
9-10 사용되지 않습니다.
11-12 Windows에서 내부적으로 사용됩니다.
13 컨텍스트 코드(키를 누른 상태에서 Alt 키를 누른 경우 1이고, 그렇지 않으면 0).
14 이전 키 상태(키가 호출 전에 다운된 경우 1, 키가 위쪽인 경우 0).
15 전환 상태(키가 해제되는 경우 1, 키를 누르고 있는 경우 0).

설명

데드 키의 문자 값을 지정합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnSysKeyDown

개체에 CWnd 입력 포커스 OnSysKeyDown 가 있는 경우 사용자가 ALT 키를 누른 다음 다른 키를 누를 때 프레임워크에서 멤버 함수를 호출합니다.

afx_msg void OnSysKeyDown(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

매개 변수

nChar
누를 키의 가상 키 코드를 지정합니다. 표준 가상 키 코드 목록은 Winuser.h를 참조하세요.

nRepCnt
반복 횟수를 지정합니다.

nFlags
다음 목록에 표시된 것처럼 검사 코드, 키 전환 코드, 이전 키 상태 및 컨텍스트 코드를 지정합니다.

의미
0-7 스캔 코드(OEM 종속 값). 상위 단어의 낮은 바이트입니다.
8 함수 키 또는 숫자 키패드의 키와 같은 확장 키(확장 키인 경우 1, 그렇지 않으면 0).
9-10 사용되지 않습니다.
11-12 Windows에서 내부적으로 사용됩니다.
13 컨텍스트 코드(키를 누른 상태에서 Alt 키를 누른 경우 1, 그렇지 않으면 0).
14 이전 키 상태(메시지가 전송되기 전에 키가 다운된 경우 1, 키가 위쪽이면 0).
15 전환 상태(키가 해제되는 경우 1, 키를 누르고 있는 경우 0).

호출의 경우 OnSysKeyDown 키 전환 비트(비트 15)는 0입니다. 키를 누르는 동안 ALT 키가 다운된 경우 컨텍스트 코드 비트(비트 13)는 1입니다. 입력 포커스가 있는 창이 없으므로 메시지가 활성 창으로 전송되면 0입니다.

설명

현재 입력 포커스가 있는 창이 없으면 활성 창의 OnSysKeyDown 멤버 함수가 호출됩니다. 메시지를 받는 개체는 CWnd 컨텍스트 코드를 검사 이러한 두 컨텍스트를 구분할 수 있습니다nFlags.

컨텍스트 코드가 0 WM_SYSKEYDOWN 이면 수신한 메시지를 Windows 함수에 OnSysKeyDownTranslateAccelerator 전달할 수 있습니다. 이 함수는 시스템 키 메시지 대신 일반 키 메시지인 것처럼 처리합니다. 이렇게 하면 활성 창에 입력 포커스가 없는 경우에도 활성 창에서 액셀러레이터 키를 사용할 수 있습니다.

자동 반복으로 인해 메시지를 받기 전에 둘 OnSysKeyDown 이상의 호출이 WM_SYSKEYUP 발생할 수 있습니다. 이전 키 상태(비트 14)를 사용하여 호출이 첫 번째 다운 전환 또는 반복되는 다운 전환을 나타내는지 여부를 OnSysKeyDown 확인할 수 있습니다.

IBM Enhanced 101 및 102 키 키보드의 경우 고급 키는 키보드의 기본 섹션에 있는 오른쪽 Alt 키와 오른쪽 Ctrl 키, INS, DEL, HOME, END, PAGE UP, PAGE DOWN 및 숫자 키패드의 왼쪽에 있는 클러스터의 화살표 키, 숫자 키패드의 슬래시(/) 및 Enter 키입니다. 일부 다른 키보드는 .에서 nFlags확장 키 비트를 지원할 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnSysKeyUp

개체에 포커스 OnSysKeyUpCWnd 있는 경우 사용자가 ALT 키를 누른 상태에서 누른 키를 해제할 때 프레임워크에서 멤버 함수를 호출합니다.

afx_msg void OnSysKeyUp(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

매개 변수

nChar
누를 키의 가상 키 코드를 지정합니다. 표준 가상 키 코드 목록은 Winuser.h

nRepCnt
반복 횟수를 지정합니다.

nFlags
다음 목록에 표시된 것처럼 검사 코드, 키 전환 코드, 이전 키 상태 및 컨텍스트 코드를 지정합니다.

의미
0-7 스캔 코드(OEM 종속 값). 상위 단어의 낮은 바이트입니다.
8 함수 키 또는 숫자 키패드의 키와 같은 확장 키(확장 키인 경우 1, 그렇지 않으면 0).
9-10 사용되지 않습니다.
11-12 Windows에서 내부적으로 사용됩니다.
13 컨텍스트 코드(키를 누른 상태에서 Alt 키를 누른 경우 1, 그렇지 않으면 0).
14 이전 키 상태(메시지가 전송되기 전에 키가 다운된 경우 1, 키가 위쪽이면 0).
15 전환 상태(키가 해제되는 경우 1, 키를 누르고 있는 경우 0).

호출의 경우 OnSysKeyUp 키 전환 비트(비트 15)는 1입니다. 키를 누르는 동안 ALT 키가 다운된 경우 컨텍스트 코드 비트(비트 13)는 1입니다. 입력 포커스가 있는 창이 없으므로 메시지가 활성 창으로 전송되면 0입니다.

설명

현재 입력 포커스가 있는 창이 없으면 활성 창의 OnSysKeyUp 멤버 함수가 호출됩니다. 호출을 수신하는 개체는 CWnd 컨텍스트 코드를 검사 이러한 두 컨텍스트를 구분할 수 있습니다nFlags.

컨텍스트 코드가 0 WM_SYSKEYUP 이면 수신한 메시지를 Windows 함수에 OnSysKeyUpTranslateAccelerator 전달할 수 있습니다. 이 함수는 시스템 키 메시지 대신 일반 키 메시지인 것처럼 처리합니다. 이렇게 하면 활성 창에 입력 포커스가 없더라도 액셀러레이터(바로 가기) 키를 활성 창과 함께 사용할 수 있습니다.

IBM Enhanced 101 및 102 키 키보드의 경우 고급 키는 키보드의 기본 섹션에 있는 오른쪽 Alt 키와 오른쪽 Ctrl 키, 숫자 키패드의 왼쪽에 있는 클러스터의 INS, DEL, HOME, END, PAGE UP, PAGE DOWN 및 화살표 키, 숫자 키패드의 슬래시(/) 및 ENTER 키입니다. 일부 다른 키보드는 nFlags에서 확장 키 비트를 지원할 수 있습니다.

미국 이외 국가의 경우 향상된 102 키 키보드인 오른쪽 ALT 키는 Ctrl+Alt 키 조합으로 처리됩니다. 다음은 사용자가 이 키를 누르고 놓을 때 발생하는 메시지 및 호출 시퀀스를 보여 줍니다.

Sequence 함수 액세스 전달된 메시지
1. WM_KEYDOWN VK_CONTROL
2. WM_KEYDOWN VK_MENU
3. WM_KEYUP VK_CONTROL
4. WM_SYSKEYUP VK_MENU

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnTCard

프레임워크는 사용자가 작성 가능한 단추를 클릭할 때 이 멤버 함수를 호출합니다.

afx_msg void OnTCard(
    UINT idAction,
    DWORD dwActionData);

매개 변수

idAction
사용자가 수행한 작업을 나타냅니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

  • IDABORT 사용자가 작성 가능한 중단 단추를 클릭했습니다.

  • IDCANCEL 사용자가 작성 가능한 취소 단추를 클릭했습니다.

  • IDCLOSE사용자가 학습 카드 닫았습니다.

  • IDHELP 사용자가 작성 가능한 Windows 도움말 단추를 클릭했습니다.

  • IDIGNORE 사용자가 작성 가능한 무시 단추를 클릭했습니다.

  • IDOK 사용자가 작성 가능한 확인 단추를 클릭했습니다.

  • IDNO 사용자가 작성 가능한 No 단추를 클릭했습니다.

  • IDRETRY 사용자가 작성 가능한 다시 시도 단추를 클릭했습니다.

  • HELP_TCARD_DATA 사용자가 작성 가능한 단추를 클릭했습니다. 매개 변수는 dwActionData 도움말 작성자가 지정한 긴 정수를 포함합니다.

  • HELP_TCARD_NEXT 사용자가 작성 가능한 다음 단추를 클릭했습니다.

  • HELP_TCARD_OTHER_CALLER다른 애플리케이션이 학습 카드 요청했습니다.

  • IDYES 사용자가 작성 가능한 예 단추를 클릭했습니다.

dwActionData
지정하는 HELP_TCARD_DATA경우 idAction 이 매개 변수는 도움말 작성자가 지정한 긴 정수입니다. 그렇지 않으면 이 매개 변수는 0입니다.

설명

이 함수는 애플리케이션이 Windows 도움말을 사용하여 학습 카드 시작한 경우에만 호출됩니다. 애플리케이션은 함수 호출 WinHelp 에서 명령을 지정하여 HELP_TCARD 학습 카드 시작합니다.

CWnd::OnTimeChange

프레임워크는 시스템 시간이 변경된 후 이 멤버 함수를 호출합니다.

afx_msg void OnTimeChange();

설명

시스템 시간을 변경하는 애플리케이션이 이 메시지를 모든 최상위 창으로 보내도록 합니다. 모든 최상위 창에 WM_TIMECHANGE 메시지를 보내기 위해 애플리케이션은 해당 매개 변수가 SendMessage로 설정된 Windows 함수를 HWND_BROADCASThwnd 사용할 수 있습니다.

CWnd::OnTimer

프레임워크는 타이머를 설치하는 데 사용되는 멤버 함수에 SetTimer 지정된 각 간격 후에 이 멤버 함수를 호출합니다.

afx_msg void OnTimer(UINT_PTR nIDEvent);

매개 변수

nIDEvent
타이머의 식별자를 지정합니다.

설명

Windows 함수는 DispatchMessage 애플리케이션의 메시지 큐에 다른 메시지가 없을 때 메시지를 보냅니 WM_TIMER 다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

예시

CWnd::SetTimer의 예제를 참조하십시오.

CWnd::OnToolHitTest

프레임워크는 이 멤버 함수를 호출하여 지정된 도구의 경계 사각형에 점이 있는지 여부를 확인합니다.

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

매개 변수

point
커서의 x 및 y 좌표를 지정합니다. 이러한 좌표는 항상 창의 왼쪽 위 모서리를 기준으로 합니다.

pTI
구조체에 대한 포인터입니다 TOOLINFO . 다음 구조체 값은 기본적으로 설정됩니다.

  • hwnd = m_hWnd 창에 대한 핸들

  • uId = (UINT)hWndChild 자식 창에 대한 핸들

  • uFlags |= TTF_IDISHWND 도구 핸들

  • lpszText = LPSTR_TEXTCALLBACK 지정된 창에 표시할 문자열에 대한 포인터

Return Value

도구 설명 컨트롤이 발견되면 창 컨트롤 ID입니다. 도구 설명 컨트롤을 찾을 수 없으면 -1입니다.

설명

점이 사각형에 있으면 도구에 대한 정보를 검색합니다.

도구 설명이 연결된 영역이 단추 OnToolHitTest 가 아닌 경우 구조 플래그 TTF_NOTBUTTONTTF_CENTERTIP를 설정합니다.

기본값이 제공하는 것과 다른 정보를 제공하도록 재정 OnToolHitTest 의합니다.

구조에 대한 자세한 내용은 Windows SDK에서 참조 TOOLINFO하세요.

CWnd::OnTouchInput

Windows Touch에서 단일 입력을 처리합니다.

virtual BOOL OnTouchInput(
    CPoint pt,
    int nInputNumber,
    int nInputsCount,
    PTOUCHINPUT pInput);

매개 변수

pt
화면이 터치된 지점(클라이언트 좌표)입니다.

nInputNumber
터치 입력 수입니다.

nInputsCount
터치 입력의 총 수입니다.

pInput
TOUCHINPUT 구조체에 대한 포인터입니다.

Return Value

TRUE 애플리케이션이 Windows 터치 입력을 처리하면 이고, 그렇지 않으면 FALSE.

설명

CWnd::OnTouchInputs

Windows 터치에서 입력을 처리합니다.

virtual BOOL OnTouchInputs(
    UINT nInputsCount,
    PTOUCHINPUT pInputs);

매개 변수

nInputsCount
Windows 터치 입력의 총 수입니다.

pInputs
의 배열입니다 TOUCHINPUT.

Return Value

TRUE 애플리케이션이 Windows 터치 입력을 처리하는 경우 그렇지 않으면 FALSE.

설명

CWnd::OnUniChar

프레임워크는 키를 누를 때 이 멤버 함수를 호출합니다. 즉, 현재 창에는 키보드 포커스가 있고 함수에 WM_KEYDOWN 의해 TranslateMessage 메시지가 변환됩니다.

afx_msg void OnUniChar(
    UINT nChar,
    UINT nRepCnt,
    UINT nFlags);

매개 변수

nChar
[in] 누른 키의 문자 코드를 지정합니다.

nRepCnt
[in] 현재 메시지의 반복 횟수를 지정합니다. 이 값은 사용자가 키를 누르고 있는 결과로 키 입력이 자동 반복되는 횟수입니다. 키 입력이 충분히 오래 유지되면 여러 개의 메시지가 전송되지만 그러나 반복 횟수는 누적되지 않습니다.

nFlags
[in] 다음 표와 같이 검사 코드, 확장 키, 컨텍스트 코드, 이전 키 상태 및 전환 상태를 지정하는 플래그입니다.

플래그 비트 설명
0-7 검사 코드를 지정합니다. 값은 OEM(원래 장비 제조업체)에 따라 달라집니다.
8 향상된 101 또는 102 키 키보드에 나타나는 오른쪽 Alt 키 및 Ctrl 키와 같은 확장 키를 지정합니다. 키가 확장 키인 경우 플래그는 1입니다. 그렇지 않으면 0입니다.
9-12 Windows에서 내부적으로 사용됩니다.
13 컨텍스트 코드를 지정합니다. 키를 누른 상태에서 ALT 키를 누른 경우 플래그는 1입니다. 그렇지 않으면 값이 0입니다.
14 이전 키 상태를 지정합니다. 메시지가 전송되기 전에 키가 다운된 경우 플래그는 1이고, 키가 위로 있으면 0입니다.
15 전환 상태를 지정합니다. 키가 해제되는 경우 플래그는 1이고, 키를 누르고 있으면 0입니다.

설명

이 메서드는 WM_UNICHAR Windows SDK에 설명된 알림을 받습니다. 이 WM_UNICHAR 메시지는 ANSI 창에 유니코드 문자를 보내거나 게시하도록 설계되었습니다. 메시지와 WM_CHAR 동일하지만 유니코드 변환 형식-32 인코딩(UTF-32)을 사용하는 반면 WM_CHAR , 메시지는 UTF-16을 사용합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnUnInitMenuPopup

드롭다운 메뉴 또는 하위 메뉴가 제거되면 프레임워크에서 이 멤버 함수를 호출합니다.

afx_msg void OnUnInitMenuPopup(
    CMenu* pPopupMenu,
    UINT nFlags);

매개 변수

pMenu
[in] CMenu 메뉴 또는 하위 메뉴를 나타내는 개체에 대한 포인터입니다.

nFlags
[in] 제거된 메뉴입니다. 현재 창 메뉴 MF_SYSMENU일 수 있습니다.

설명

이 메서드는 WM_UNINITMENUPOPUP Windows SDK에 설명된 알림을 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnUpdateUIState

지정된 창 및 모든 자식 창에 대한 UI(사용자 인터페이스) 상태를 변경하기 위해 호출됩니다.

afx_msg void OnUpdateUIState(
    UINT nAction,
    UINT nUIElement);

매개 변수

nAction
수행할 작업을 지정합니다. 다음 값 중 하나일 수 있습니다.

  • UIS_CLEAR UI 상태 요소(지정됨 nUIElement)를 숨겨야 합니다.

  • UIS_INITIALIZE 마지막 입력 이벤트에 따라 UI 상태 요소(지정 nUIElement됨)를 변경해야 합니다. 자세한 내용은 의 설명 섹션WM_UPDATEISTATE 참조하세요.

  • UIS_SET UI 상태 요소(지정됨 nUIElement)가 표시되어야 합니다.

nUIElement
영향을 받는 UI 상태 요소 또는 컨트롤의 스타일을 지정합니다. 다음 값 중 하나일 수 있습니다.

  • UISF_HIDEACCEL 키보드 가속기.

  • UISF_HIDEFOCUS 포커스 표시기.

  • UISF_ACTIVE Windows XP: 활성 컨트롤에 사용되는 스타일로 컨트롤을 그려야 합니다.

설명

이 멤버 함수는 Windows SDK에 WM_UPDATEUISTATE 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CWnd::OnUserChanged

프레임워크는 사용자가 로그온하거나 해제한 후 모든 창에 대해 이 멤버를 호출합니다.

afx_msg void OnUserChanged();

설명

이 메서드는 WM_USERCHANGED Windows SDK에 설명된 알림 메시지를 받습니다. 사용자가 로그온하거나 끄면 운영 체제에서 사용자별 설정을 업데이트합니다. 시스템은 설정을 업데이트한 직후 이 메시지를 보냅니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnVKeyToItem

개체가 CWnd 스타일이 있는 목록 상자를 소유하는 LBS_WANTKEYBOARDINPUT 경우 목록 상자는 메시지에 대한 응답으로 메시지를 보냅니 WM_VKEYTOITEMWM_KEYDOWN .

afx_msg int OnVKeyToItem(
    UINT nKey,
    CListBox* pListBox,
    UINT nIndex);

매개 변수

nKey
사용자가 누른 키의 가상 키 코드를 지정합니다. 표준 가상 키 코드 목록은 Winuser.h

pListBox
목록 상자에 대한 포인터를 지정합니다. 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

nIndex
현재 캐리트 위치를 지정합니다.

Return Value

메시지에 대한 응답으로 애플리케이션이 수행한 작업을 지정합니다. 반환 값 -2는 애플리케이션이 항목 선택 작업의 모든 측면을 처리했으며 목록 상자에서 추가 작업할 필요가 없음을 나타냅니다. 반환 값 -1은 키 입력에 대한 응답으로 목록 상자가 기본 작업을 수행해야 함을 나타냅니다. 반환 값이 0 이상인 경우 목록 상자에 있는 항목의 인덱스(0부터 시작하는 인덱스)를 지정하고 목록 상자가 지정된 항목의 키 입력에 대한 기본 작업을 수행해야 함을 나타냅니다.

설명

이 멤버 함수는 스타일이 있는 목록 상자에 대해서만 프레임워크에서 LBS_HASSTRINGS 호출됩니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnVScroll

프레임워크는 사용자가 창의 세로 스크롤 막대를 클릭할 때 이 멤버 함수를 호출합니다.

afx_msg void OnVScroll(
    UINT nSBCode,
    UINT nPos,
    CScrollBar* pScrollBar);

매개 변수

nSBCode
사용자의 스크롤 요청을 나타내는 스크롤 막대 코드를 지정합니다. 이 매개 변수는 다음 중 하나일 수 있습니다.

  • SB_BOTTOM 아래로 스크롤합니다.

  • SB_ENDSCROLL 끝 스크롤.

  • SB_LINEDOWN 한 줄 아래로 스크롤합니다.

  • SB_LINEUP 한 줄을 위로 스크롤합니다.

  • SB_PAGEDOWN 한 페이지를 아래로 스크롤합니다.

  • SB_PAGEUP 한 페이지를 위로 스크롤합니다.

  • SB_THUMBPOSITION 절대 위치로 스크롤합니다. 현재 위치는 에 nPos제공됩니다.

  • SB_THUMBTRACK 스크롤 상자를 지정된 위치로 끌어다 놓습니다. 현재 위치는 에 nPos제공됩니다.

  • SB_TOP 위로 스크롤합니다.

nPos
스크롤 막대 코드 SB_THUMBPOSITION 가 있거나 SB_THUMBTRACK사용되지 않는 경우 현재 스크롤 상자 위치를 포함합니다. 초기 스크롤 범위에 nPos 따라 음수일 수 있으며 필요한 경우 캐스팅 int 해야 합니다.

pScrollBar
스크롤 메시지가 스크롤 막대 컨트롤에서 온 경우 컨트롤에 대한 포인터를 포함합니다. 사용자가 창의 스크롤 막대를 클릭한 경우 이 매개 변수는 다음과 같습니다 NULL. 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

OnVScroll 일반적으로 스크롤 상자를 끌 때 피드백을 제공하는 애플리케이션에서 사용됩니다.

개체의 CWnd 내용을 스크롤하는 경우 OnVScroll 멤버 함수를 사용하여 스크롤 상자 SetScrollPos 의 위치도 다시 설정해야 합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnVScrollClipboard

클립보드 데이터의 형식이 있고 클립보드 뷰어의 OnVScrollClipboard 세로 스크롤 막대에 이벤트가 있는 경우 클립보드 CF_OWNERDISPLAY 소유자의 멤버 함수가 클립보드 뷰어에서 호출됩니다.

afx_msg void OnVScrollClipboard(
    CWnd* pClipAppWnd,
    UINT nSBCode,
    UINT nPos);

매개 변수

pClipAppWnd
클립보드 뷰어 창에 대한 포인터를 지정합니다. 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

nSBCode
다음 스크롤 막대 값 중 하나를 지정합니다.

  • SB_BOTTOM 아래로 스크롤합니다.

  • SB_ENDSCROLL 끝 스크롤.

  • SB_LINEDOWN 한 줄 아래로 스크롤합니다.

  • SB_LINEUP 한 줄을 위로 스크롤합니다.

  • SB_PAGEDOWN 한 페이지를 아래로 스크롤합니다.

  • SB_PAGEUP 한 페이지를 위로 스크롤합니다.

  • SB_THUMBPOSITION 절대 위치로 스크롤합니다. 현재 위치는 에 nPos제공됩니다.

  • SB_TOP 위로 스크롤합니다.

nPos
스크롤 막대 코드 SB_THUMBPOSITION가 있으면 스크롤 상자 위치를 포함하고, 그렇지 않으면 nPos 사용되지 않습니다.

설명

소유자는 클립보드 이미지를 스크롤하고, 적절한 섹션을 무효화하고, 스크롤 막대 값을 업데이트해야 합니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnWindowMaximizedChanged

프레임워크는 현재 창이 최대화되고 창이 DWM(데스크톱 창 관리자)에 의해 구성될 때 이 멤버를 호출합니다.

afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);

매개 변수

bIsMaximized
[in] TRUE 현재 창이 최대화되고 FALSE 그렇지 않은 경우

설명

이 메서드는 WM_DWMWINDOWMAXIMIZEDCHANGE Windows SDK에 설명된 알림 메시지를 받습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnWindowPosChanged

프레임워크는 멤버 함수 또는 다른 창 관리 함수에 대한 호출의 결과로 크기, 위치 또는 Z 순서가 변경된 경우 이 멤버 함수를 SetWindowPos 호출합니다.

afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);

매개 변수

lpwndpos
WINDOWPOS 창의 새 크기와 위치에 대한 정보가 포함된 데이터 구조를 가리킵니다.

설명

기본 구현은 창에 WM_SIZE 메시지와 WM_MOVE 메시지를 보냅니다. 애플리케이션이 기본 클래스를 호출하지 않고 호출을 OnWindowPosChanged 처리하는 경우 이러한 메시지는 전송되지 않습니다. 기본 클래스를 호출하지 않고 호출 OnWindowPosChanged 하는 동안 이동 또는 크기 변경 처리를 수행하는 것이 더 효율적입니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnWindowPosChanging

프레임워크는 멤버 함수 또는 다른 창 관리 함수에 대한 호출의 결과로 크기, 위치 또는 Z 순서가 변경될 때 이 멤버 함수를 SetWindowPos 호출합니다.

afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);

매개 변수

lpwndpos
WINDOWPOS 창의 새 크기와 위치에 대한 정보가 포함된 데이터 구조를 가리킵니다.

설명

애플리케이션은 구조체의 멤버에서 적절한 비트를 설정하거나 지워 창 변경을 방지할 WINDOWPOS 수 있습니다flags.

또는 WS_THICKFRAME 스타일이 있는 창의 WS_OVERLAPPED 경우 기본 구현은 창에 WM_GETMINMAXINFO 메시지를 보냅니다. 이 작업은 창의 새 크기와 위치의 유효성을 검사하고 클라이언트 스타일과 CS_BYTEALIGN 클라이언트 스타일을 적용 CS_BYTEALIGNCLIENT 하기 위해 수행됩니다. 애플리케이션은 기본 클래스를 호출하지 않음으로써 이 기능을 재정의할 수 있습니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnWinIniChange

프레임워크는 Windows 초기화 파일을 WIN.INI변경한 후 이 멤버 함수를 호출합니다.

afx_msg void OnWinIniChange(LPCTSTR lpszSection);

매개 변수

lpszSection
변경된 섹션의 이름을 지정하는 문자열을 가리킵니다. (문자열에는 구역 이름을 묶는 대괄호가 포함되지 않습니다.)

설명

Windows 함수는 SystemParametersInfo 애플리케이션이 함수를 사용하여 파일의 설정을 변경한 후 호출 OnWinIniChange 합니다 WIN.INI .

모든 최상위 창에 WM_WININICHANGE 메시지를 보내기 위해 애플리케이션은 해당 매개 변수가 SendMessage로 설정된 Windows 함수를 HWND_BROADCASThwnd 사용할 수 있습니다.

애플리케이션이 동시에 여러 섹션 WIN.INI 을 변경하는 경우 애플리케이션은 .로 설정된 NULL메시지를 lpszSection 하나 WM_WININICHANGE 보내야 합니다. 그렇지 않으면 애플리케이션이 변경할 WIN.INI때마다 전송 WM_WININICHANGE 해야 합니다.

애플리케이션이 설정된 호출 lpszSectionOnWinIniChange 수신하는 NULL경우 애플리케이션은 WIN의 모든 섹션을 검사 합니다. 애플리케이션에 영향을 주는 INI입니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnWndMsg

이 멤버 함수는 WindowProc호출되거나 메시지 리플렉션 중에 호출됩니다.

virtual BOOL OnWndMsg(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

매개 변수

message
보낼 메시지를 지정합니다.

wParam
추가 메시지 종속 정보를 지정합니다.

lParam
추가 메시지 종속 정보를 지정합니다.

pResult
의 반환 값입니다 WindowProc. 메시지에 따라 다릅니다. 가 될 NULL수 있습니다.

Return Value

메시지가 처리된 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

OnWndMsg 는 메시지 유형을 결정하고 적절한 프레임워크 함수(예 OnCommand : )를 WM_COMMAND호출하거나 메시지 맵에서 적절한 메시지를 찾습니다.

메시지 리플렉션에 대한 자세한 내용은 반영된 메시지 처리를 참조 하세요.

CWnd::OnXButtonDblClk

프레임워크는 사용자가 두 번 클릭 XBUTTON1 하거나 XBUTTON2 커서가 창의 클라이언트 영역에 있는 동안 이 멤버 함수를 호출합니다.

afx_msg void OnXButtonDblClk(
    UINT nFlags,
    UINT nButton,
    CPoint point);

매개 변수

nFlags
[in] 누를 한정자 키를 나타내는 플래그의 비트 조합(OR)입니다. 예를 들어 플래그는 MK_CONTROL Ctrl 키를 눌렀다는 것을 나타냅니다.

nButton
[in] 첫 번째 Microsoft Intellimouse X 단추를 두 번 클릭하거나 두 번째 X 단추를 두 번 클릭하면 XBUTTON2 값 XBUTTON1 입니다.

point
[in] CPoint 클라이언트 영역의 x 왼쪽 위 모서리를 기준으로 커서의 좌표와 y 좌표를 지정하는 개체입니다.

설명

이 메서드는 WM_XBUTTONDBLCLK Windows SDK에 설명된 알림을 받습니다. 마우스를 캡처하지 않으면 메시지가 커서 아래 창에 게시됩니다. 그렇지 않으면 마우스를 캡처한 창에 메시지가 게시됩니다.

매개 변수는 nFlags 다음 표에 나열된 한정자 키의 조합일 수 있습니다. 자세한 내용은 마우스 입력 정보를 참조 하세요.

한정자 키 설명
MK_CONTROL Ctrl 키를 누릅니다.
MK_LBUTTON 마우스 왼쪽 단추를 누릅니다.
MK_MBUTTON 마우스 가운데 단추를 누릅니다.
MK_RBUTTON 마우스 오른쪽 단추를 누릅니다.
MK_SHIFT SHIFT 키를 눌렀습니다.
MK_XBUTTON1 XBUTTON1 Microsoft IntelliMouse의 마우스 단추를 누릅니다.
MK_XBUTTON2 XBUTTON2 Microsoft IntelliMouse의 마우스 단추를 누릅니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnXButtonDown

프레임워크는 사용자가 누 XBUTTON1 를 때 또는 XBUTTON2 커서가 창의 클라이언트 영역에 있는 동안 이 멤버 함수를 호출합니다.

afx_msg void OnXButtonDown(
    UINT nFlags,
    UINT nButton,
    CPoint point);

매개 변수

nFlags
[in] 누를 한정자 키를 나타내는 플래그의 비트 조합(OR)입니다. 예를 들어 플래그는 MK_CONTROL Ctrl 키를 눌렀다는 것을 나타냅니다.

nButton
[in] 첫 번째 Microsoft Intellimouse X 단추를 클릭했거나 XBUTTON2 두 번째 X 단추를 클릭한 경우의 값 XBUTTON1 입니다.

point
[in] CPoint 클라이언트 영역의 x 왼쪽 위 모서리를 기준으로 커서의 좌표와 y 좌표를 지정하는 개체입니다.

설명

이 메서드는 WM_XBUTTONDOWN Windows SDK에 설명된 알림을 받습니다. 마우스를 캡처하지 않으면 메시지가 커서 아래 창에 게시됩니다. 그렇지 않으면 마우스를 캡처한 창에 메시지가 게시됩니다.

매개 변수는 nFlags 다음 표에 나열된 한정자 키의 조합일 수 있습니다. 자세한 내용은 마우스 입력 정보를 참조 하세요.

한정자 키 설명
MK_CONTROL Ctrl 키를 누릅니다.
MK_LBUTTON 마우스 왼쪽 단추를 누릅니다.
MK_MBUTTON 마우스 가운데 단추를 누릅니다.
MK_RBUTTON 마우스 오른쪽 단추를 누릅니다.
MK_SHIFT SHIFT 키를 눌렀습니다.
MK_XBUTTON1 XBUTTON1 Microsoft IntelliMouse의 마우스 단추를 누릅니다.
MK_XBUTTON2 XBUTTON2 Microsoft IntelliMouse의 마우스 단추를 누릅니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OnXButtonUp

프레임워크는 사용자가 해제 XBUTTON1 하거나 XBUTTON2 커서가 창의 클라이언트 영역에 있는 동안 이 멤버 함수를 호출합니다.

afx_msg void OnXButtonUp(
    UINT nFlags,
    UINT nButton,
    CPoint point);

매개 변수

nFlags
[in] 누를 한정자 키를 나타내는 플래그의 비트 조합(OR)입니다. 예를 들어 플래그는 MK_CONTROL Ctrl 키를 눌렀다는 것을 나타냅니다.

nButton
[in] 첫 번째 Microsoft Intellimouse X 단추를 두 번 클릭했거나 XBUTTON2 두 번째 X 단추를 두 번 클릭한 경우의 값 XBUTTON1 입니다.

point
[in] CPoint 클라이언트 영역의 x 왼쪽 위 모서리를 기준으로 커서의 좌표와 y 좌표를 지정하는 개체입니다.

설명

이 메서드는 WM_XBUTTONUP Windows SDK에 설명된 알림을 받습니다. 마우스를 캡처하지 않으면 메시지가 커서 아래 창에 게시됩니다. 그렇지 않으면 마우스를 캡처한 창에 메시지가 게시됩니다.

매개 변수는 nFlags 다음 표에 나열된 한정자 키의 조합일 수 있습니다. 자세한 내용은 마우스 입력 정보를 참조 하세요.

한정자 키 설명
MK_CONTROL Ctrl 키를 누릅니다.
MK_LBUTTON 마우스 왼쪽 단추를 누릅니다.
MK_MBUTTON 마우스 가운데 단추를 누릅니다.
MK_RBUTTON 마우스 오른쪽 단추를 누릅니다.
MK_SHIFT SHIFT 키를 눌렀습니다.
MK_XBUTTON1 XBUTTON1 Microsoft IntelliMouse의 마우스 단추를 누릅니다.
MK_XBUTTON2 XBUTTON2 Microsoft IntelliMouse의 마우스 단추를 누릅니다.

참고 항목

이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.

CWnd::OpenClipboard

클립보드를 엽니다.

BOOL OpenClipboard();

Return Value

클립보드를 통해 CWnd열면 0이 아니고, 다른 응용 프로그램 또는 창에 클립보드가 열려 있으면 0이 됩니다.

설명

다른 애플리케이션은 Windows 함수가 호출될 때까지 클립보드를 수정할 CloseClipboard 수 없습니다.

현재 CWnd 개체는 Windows 함수가 호출될 때까지 클립보드의 EmptyClipboard 소유자가 되지 않습니다.

예시

//handler for Edit | Copy menu
void CMdiView::OnEditCopy()
{
   if (!OpenClipboard())
   {
      AfxMessageBox(_T("Cannot open the Clipboard"));
      return;
   }
   // Remove the current Clipboard contents
   if (!EmptyClipboard())
   {
      AfxMessageBox(_T("Cannot empty the Clipboard"));
      return;
   }

   // Get the currently selected data, hData handle to
   // global memory of data
   CString str;
   m_Edit.GetWindowText(str);
   size_t cbStr = (str.GetLength() + 1) * sizeof(TCHAR);
   HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);
   memcpy_s(GlobalLock(hData), cbStr, str.LockBuffer(), cbStr);
   GlobalUnlock(hData);
   str.UnlockBuffer();

   // For the appropriate data formats...
   UINT uiFormat = (sizeof(TCHAR) == sizeof(WCHAR)) ? CF_UNICODETEXT : CF_TEXT;
   if (::SetClipboardData(uiFormat, hData) == NULL)
   {
      AfxMessageBox(_T("Unable to set Clipboard data"));
      CloseClipboard();
      return;
   }

   CloseClipboard();
}

CWnd::operator HWND

이 연산자를 사용하여 개체에 대한 핸들을 가져옵니다 CWnd .

operator HWND() const;

CWnd::operator !=

CWnd 개체를 비교하여 동일한 m_hWnd개체가 없는지 확인합니다.

BOOL operator!=(const CWnd& wnd) const;

매개 변수

wnd
CWnd 개체에 대한 참조입니다.

Return Value

0이 아닌 경우 0이 아닌 경우 그렇지 않으면 0입니다.

CWnd::operator ==

CWnd 개체를 비교하여 동일한 m_hWnd개체가 있는지 확인합니다.

BOOL operator==(const CWnd& wnd) const;

매개 변수

wnd
CWnd 개체에 대한 참조입니다.

Return Value

0이 아닌 경우 0이 아닌 경우 그렇지 않으면 0입니다.

CWnd::PaintWindowlessControls

컨트롤 컨테이너에서 창 없는 컨트롤을 그립니다.

BOOL PaintWindowlessControls(CDC* pDC);

매개 변수

pDC
창 없는 컨트롤을 그릴 디바이스 컨텍스트입니다.

Return Value

컨트롤 컨테이너가 있고 창 없는 컨트롤이 성공적으로 그려지면 반환하고, 그렇지 않으면 FALSE반환 TRUE 합니다.

CWnd::PostMessage

창의 메시지 큐에 메시지를 배치한 다음 해당 창이 메시지를 처리할 때까지 기다리지 않고 반환합니다.

BOOL PostMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

매개 변수

message
게시할 메시지를 지정합니다.

wParam
추가 메시지 정보를 지정합니다. 이 매개 변수의 내용은 게시되는 메시지에 따라 달라집니다.

lParam
추가 메시지 정보를 지정합니다. 이 매개 변수의 내용은 게시되는 메시지에 따라 달라집니다.

Return Value

메시지가 게시되면 0이 아닌 경우 그렇지 않으면 0입니다.

설명

메시지 큐의 메시지는 또는 PeekMessage Windows 함수에 대한 호출을 GetMessage 통해 검색됩니다.

Windows PostMessage 함수를 사용하여 다른 애플리케이션에 액세스할 수 있습니다.

예시

에 대한 예제를 AfxGetMainWnd참조하세요.

CWnd::PostNcDestroy

창이 제거된 후 기본 OnNcDestroy 멤버 함수에서 호출됩니다.

virtual void PostNcDestroy();

설명

파생 클래스는 포인터 삭제와 같은 사용자 지정 클린업에 이 함수를 this 사용할 수 있습니다.

CWnd::PreCreateWindow

CWnd 개체에 연결된 Windows 창을 만들기 전에 프레임워크에서 호출합니다.

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

매개 변수

cs
구조체입니다 CREATESTRUCT .

Return Value

창 만들기를 계속해야 하는 경우 0이 아닌 경우 생성 실패를 나타내는 0입니다.

설명

Warning

CWnd::PreCreateWindow이제 메뉴 NULL 가 있고 스타일에 포함된 경우 포인터의 csthis hMenu 멤버를 할당합니다WS_CHILD. 적절한 기능을 위해 대화 상자 컨트롤에 없는 NULLID가 있는지 확인합니다.

이 변경으로 인해 관리/네이티브 interop 시나리오에서 충돌이 해결됩니다. TRACE 개발자에게 CWnd::Create 문제를 알리는 명령문입니다.

이 함수를 직접 호출하지 마세요.

이 함수의 기본 구현은 창 클래스 이름을 검사 NULL 적절한 기본값으로 대체합니다. 창을 만들기 전에 구조를 수정 CREATESTRUCT 하려면 이 멤버 함수를 재정의합니다.

파생된 각 클래스는 CWnd 재정의 PreCreateWindow에 고유한 기능을 추가합니다. 기본적으로 이러한 파생은 PreCreateWindow 문서화되지 않습니다. 각 클래스에 적합한 스타일과 스타일 간의 상호 종속성을 확인하려면 애플리케이션의 기본 클래스에 대한 MFC 소스 코드를 검사할 수 있습니다. 재정 PreCreateWindow, 의를 선택하는 경우 애플리케이션의 기본 클래스에 사용되는 스타일이 MFC 소스 코드에서 수집된 정보를 사용하여 필요한 기능을 제공하는지 여부를 확인할 수 있습니다.

창 스타일 변경에 대한 자세한 내용은 MFC에서 만든 창의 스타일 변경을 참조하세요.

예시

// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT &cs)
{
   // Create a window without min/max buttons or sizable border
   cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;

   // Size the window to 1/3 screen size and center it
   cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
   cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
   cs.y = ((cs.cy * 3) - cs.cy) / 2;
   cs.x = ((cs.cx * 3) - cs.cx) / 2;

   return CMDIChildWnd::PreCreateWindow(cs);
}

CWnd::PreSubclassWindow

이 멤버 함수는 창이 서브클래싱되기 전에 필요한 다른 서브클래싱이 발생할 수 있도록 프레임워크에서 호출됩니다.

virtual void PreSubclassWindow();

설명

이 멤버 함수를 재정의하면 컨트롤의 동적 서브클래싱이 가능합니다. 고급 재정의 가능입니다.

CWnd::PreTranslateMessage

클래스 CWinApp 에서 Windows 함수로 디스패치되기 전에 창 메시지를 번역하는 데 DispatchMessageTranslateMessage 사용됩니다.

virtual BOOL PreTranslateMessage(MSG* pMsg);

매개 변수

pMsg
처리할 MSG 메시지가 포함된 구조를 가리킵니다.

Return Value

메시지가 번역되어 디스패치되어서는 안 되는 경우 0이 아닙니다. 메시지가 번역되지 않고 디스패치되어야 하는 경우 0입니다.

CWnd::Print

이 멤버 함수를 호출하여 프린터 디바이스 컨텍스트에서 가장 일반적으로 지정된 디바이스 컨텍스트에서 현재 창을 그립니다.

void Print(
    CDC* pDC,
    DWORD dwFlags) const;

매개 변수

pDC
디바이스 컨텍스트에 대한 포인터입니다.

dwFlags
그리기 옵션을 지정합니다. 이 매개 변수는 다음 플래그 중 하나 이상일 수 있습니다.

  • PRF_CHECKVISIBLE 창이 표시되는 경우에만 창을 그립니다.

  • PRF_CHILDREN 표시되는 모든 자식 창을 그립니다.

  • PRF_CLIENT 창의 클라이언트 영역을 그립니다.

  • PRF_ERASEBKGND 창을 그리기 전에 배경을 지웁다.

  • PRF_NONCLIENT 창의 비클라이언트 영역을 그립니다.

  • PRF_OWNED 소유된 모든 창을 그립니다.

설명

CWnd::DefWindowProc 함수는 지정된 그리기 옵션에 따라 이 메시지를 처리합니다.

  • PRF_CHECKVISIBLE 지정되고 창이 표시되지 않으면 아무 것도 수행하지 않습니다.

  • 지정된 경우 PRF_NONCLIENT 지정된 디바이스 컨텍스트에서 비클라이언트 영역을 그립니다.

  • 지정한 경우 PRF_ERASEBKGND 창에 메시지를 보냅니다 WM_ERASEBKGND .

  • 지정한 경우 PRF_CLIENT 창에 메시지를 보냅니다 WM_PRINTCLIENT .

  • 설정된 경우 PRF_CHILDREN 표시되는 각 자식 창에 메시지를 보냅니다 WM_PRINT .

  • 설정된 경우 PRF_OWNED 표시되는 각 소유 창에 WM_PRINT 메시지를 보냅니다.

CWnd::PrintClient

지정된 디바이스 컨텍스트(일반적으로 프린터 디바이스 컨텍스트)에서 창을 그리려면 이 멤버 함수를 호출합니다.

void PrintClient(
    CDC* pDC,
    DWORD dwFlags) const;

매개 변수

pDC
디바이스 컨텍스트에 대한 포인터입니다.

dwFlags
그리기 옵션을 지정합니다. 이 매개 변수는 다음 플래그 중 하나 이상일 수 있습니다.

  • PRF_CHECKVISIBLE 창이 표시되는 경우에만 창을 그립니다.

  • PRF_CHILDREN 표시되는 모든 자식 창을 그립니다.

  • PRF_CLIENT 창의 클라이언트 영역을 그립니다.

  • PRF_ERASEBKGND 창을 그리기 전에 배경을 지웁다.

  • PRF_NONCLIENT 창의 비클라이언트 영역을 그립니다.

  • PRF_OWNED 소유된 모든 창을 그립니다.

CWnd::PrintWindow

지정된 디바이스 컨텍스트(일반적으로 프린터 DC)에 시각적 창을 복사합니다.

BOOL PrintWindow(
    CDC* pDC,
    UINT nFlags) const;

매개 변수

pDC
인쇄할 디바이스 컨텍스트에 대한 포인터입니다.

nFlags
그리기 옵션을 지정합니다. 가능한 값 목록은 다음을 참조하세요 PrintWindow.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 PrintWindow의 기능을 에뮬레이트합니다.

CWnd::RedrawWindow

지정된 창의 클라이언트 영역에서 지정된 사각형 또는 영역을 업데이트.

BOOL RedrawWindow(
    LPCRECT lpRectUpdate = NULL,
    CRgn* prgnUpdate = NULL,
    UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

매개 변수

lpRectUpdate
RECT 업데이트 사각형의 좌표를 포함하는 구조를 가리킵니다. 유효한 지역 핸들이 포함된 경우 prgnUpdate 이 매개 변수는 무시됩니다.

prgnUpdate
업데이트 지역을 식별합니다. 둘 다 prgnUpdatelpRectUpdateNULL경우 전체 클라이언트 영역이 업데이트 지역에 추가됩니다.

flags
다음 플래그는 창을 무효화하는 데 사용됩니다.

  • RDW_ERASE 창이 다시 칠해지면 창이 메시지를 받 WM_ERASEBKGND 도록 합니다. RDW_INVALIDATE 플래그도 지정해야 합니다. 그렇지 않으면 RDW_ERASE 영향을 주지 않습니다.

  • RDW_FRAME 업데이트 영역과 교차하는 창의 비클라이언트 영역 일부가 메시지를 받 WM_NCPAINT 도록 합니다. RDW_INVALIDATE 플래그도 지정해야 합니다. 그렇지 않으면 RDW_FRAME 효과가 없습니다.

  • RDW_INTERNALPAINTWM_PAINT 창에 잘못된 영역이 포함되어 있는지 여부에 관계없이 창에 메시지가 게시되도록 합니다.

  • RDW_INVALIDATE 무효화 lpRectUpdate 하거나 prgnUpdate (하나만 무효화되지 않을 NULL수 있음) 둘 다인 NULL경우 전체 창이 무효화됩니다.

다음 플래그는 창의 유효성을 검사하는 데 사용됩니다.

  • RDW_NOERASE 보류 중인 WM_ERASEBKGND 메시지를 표시하지 않습니다.

  • RDW_NOFRAME 보류 중인 WM_NCPAINT 메시지를 표시하지 않습니다. 이 플래그는 함께 RDW_VALIDATE 사용해야 하며 일반적으로 .와 함께 RDW_NOCHILDREN사용됩니다. 이 옵션은 창의 일부가 제대로 그리는 것을 방지할 수 있으므로 주의하여 사용해야 합니다.

  • RDW_NOINTERNALPAINT 보류 중인 내부 WM_PAINT 메시지를 표시하지 않습니다. 이 플래그는 잘못된 영역으로 인해 발생하는 메시지에 영향을 WM_PAINT 주지 않습니다.

  • RDW_VALIDATE 유효성을 lpRectUpdate 검사하거나 prgnUpdate (하나만 그렇지 않을 NULL수 있음) 둘 다인 NULL경우 전체 창의 유효성이 검사됩니다. 이 플래그는 내부 WM_PAINT 메시지에 영향을 주지 않습니다.

다음 플래그는 다시 칠하는 경우를 제어합니다. 이러한 비트 중 하나를 지정하지 않으면 함수에서 RedrawWindow 그림판 수행되지 않습니다.

  • RDW_ERASENOW필요한 경우 함수가 반환되기 전에 영향을 받는 창(및 RDW_NOCHILDREN 플래그에 지정된 RDW_ALLCHILDREN 대로)이 메시지와 WM_ERASEBKGND 메시지를 받 WM_NCPAINT 도록 합니다. WM_PAINT 메시지가 지연됩니다.

  • RDW_UPDATENOW함수가 반환되기 전에 영향을 받는 창(및 RDW_NOCHILDREN 플래그로 지정됨RDW_ALLCHILDREN)이 WM_PAINT 필요한 경우 메시지를 받WM_NCPAINTWM_ERASEBKGND도록 합니다.

기본적으로 함수의 영향을 받는 RedrawWindow 창은 WS_CLIPCHILDREN 지정된 창에 스타일이 있는지 여부에 따라 달라집니다. 창의 WS_CLIPCHILDREN 자식 창은 영향을 받지 않습니다. 그러나 창이 아닌 WS_CLIPCHILDREN 창은 창이 발견될 때까지 WS_CLIPCHILDREN 재귀적으로 유효성을 검사하거나 무효화됩니다. 다음 플래그는 함수의 영향을 받는 창을 제어합니다 RedrawWindow .

  • RDW_ALLCHILDREN 다시 그리기 작업에 자식 창(있는 경우)을 포함합니다.

  • RDW_NOCHILDREN 다시 그리기 작업에서 자식 창(있는 경우)을 제외합니다.

Return Value

창이 성공적으로 다시 그려진 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

멤버 함수를 RedrawWindow 사용하여 바탕 화면 창의 일부를 무효화하면 해당 창에 WM_PAINT 메시지가 표시되지 않습니다. 데스크톱을 다시 그리려면 애플리케이션에서 를 CWnd::UpdateWindowCWnd::InvalidateRgn사용해야 CWnd::ValidateRgn합니다.RedrawWindow

CWnd::ReflectChildNotify

이 메시지 함수는 프레임워크에서 OnChildNotify호출됩니다.

BOOL ReflectChildNotify(
    UINT message,
    WPARAM wParam,
    LPARAM lParam,
    LRESULT* pResult);

매개 변수

message
반영할 메시지를 지정합니다.

wParam
추가 메시지 종속 정보를 지정합니다.

lParam
추가 메시지 종속 정보를 지정합니다.

pResult
부모 창에서 반환할 자식 창에서 생성된 결과입니다. NULL일 수 있습니다.

Return Value

TRUE 메시지가 반영되었으면 이고, 그렇지 않으면 FALSE.

설명

원본을 반영하는 도우미 함수입니다 message .

반영된 메시지는 직접 또는 .로 CWnd::OnWndMsgCCmdTarget::OnCmdMsg전송됩니다.

메시지 리플렉션에 대한 자세한 내용은 반영된 메시지 처리를 참조 하세요.

CWnd::ReflectLastMsg

이 멤버 함수는 자식 창에 마지막 메시지를 반영하기 위해 프레임워크에서 호출됩니다.

static BOOL PASCAL ReflectLastMsg(
    HWND hWndChild,
    LRESULT* pResult = NULL);

매개 변수

hWndChild
자식 창에 대한 핸들입니다.

pResult
부모 창에서 반환할 자식 창에서 생성된 결과입니다. NULL일 수 있습니다.

Return Value

메시지가 처리된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

이 멤버 함수는 식별된 hWndChild 창이 OLE 컨트롤이거나 영구 맵의 창인지를 호출 SendChildNotifyLastMsg 합니다.

메시지 리플렉션에 대한 자세한 내용은 반영된 메시지 처리를 참조 하세요.

CWnd::ReleaseDC

디바이스 컨텍스트를 해제하여 다른 애플리케이션에서 사용할 수 있게 합니다.

int ReleaseDC(CDC* pDC);

매개 변수

pDC
해제할 디바이스 컨텍스트를 식별합니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

멤버 함수의 ReleaseDC 효과는 디바이스 컨텍스트 형식에 따라 달라집니다.

애플리케이션은 멤버 함수에 ReleaseDC 대한 각 호출 및 멤버 함수에 GetWindowDC 대한 각 호출에 대해 멤버 함수를 GetDC 호출해야 합니다.

CWnd::RepositionBars

창의 클라이언트 영역에서 컨트롤 막대의 위치를 변경하고 크기를 조정하기 위해 호출됩니다.

void RepositionBars(UINT nIDFirst,
    UINT nIDLast,
    UINT nIDLeftOver,
    UINT nFlag = reposDefault,
    LPRECT lpRectParam = NULL,
    LPCRECT lpRectClient = NULL,
    BOOL bStretch = TRUE) ;

매개 변수

nIDFirst
위치를 변경하고 크기를 조정할 컨트롤 막대 범위의 첫 번째 ID입니다.

nIDLast
위치를 변경하고 크기를 조정할 컨트롤 막대 범위의 마지막 ID입니다.

nIDLeftOver
클라이언트 영역의 나머지 부분을 채우는 창의 ID를 지정합니다.

nFlag
다음 값 중 하나가 될 수 있습니다.

  • CWnd::reposDefault 컨트롤 막대의 레이아웃을 수행합니다. lpRectParam 은 사용되지 않으며 사용할 수 있습니다 NULL.

  • CWnd::reposQuery 컨트롤 막대의 레이아웃이 완료되지 않았습니다. 대신 lpRectParam 레이아웃이 실제로 완료된 것처럼 클라이언트 영역의 크기로 초기화됩니다.

  • CWnd::reposExtra클라이언트 영역에 nIDLast 값을 lpRectParam 추가하고 레이아웃도 수행합니다.

lpRectParam
구조체를 RECT 가리킵니다. 사용법은 값에 nFlag따라 달라집니다.

lpRectClient
RECT 사용 가능한 클라이언트 영역을 포함하는 구조를 가리킵니다. 이 경우 NULL창의 클라이언트 영역이 사용됩니다.

bStretch
막대를 프레임 크기로 확장해야 하는지 여부를 나타냅니다.

설명

nIDLast 매개 변수는 nIDFirst 클라이언트 영역에서 위치를 변경할 컨트롤 막대 ID의 범위를 정의합니다. 매개 변수는 nIDLeftOver 컨트롤 막대로 채워지지 않은 클라이언트 영역의 나머지 부분을 채우기 위해 위치가 변경되고 크기가 조정되는 자식 창(일반적으로 보기)의 ID를 지정합니다.

CWnd::RunModalLoop

이 멤버 함수를 호출하여 반환될 때까지 ContinueModal 메시지를 검색, 번역 또는 디스패치합니다 FALSE.

int RunModalLoop(DWORD dwFlags = 0);

매개 변수

dwFlags
보낼 Windows 메시지를 지정합니다. 다음 값 중 하나일 수 있습니다.

  • MLF_NOIDLEMSG 부모에게 메시지를 보내지 WM_ENTERIDLE 마세요.

  • MLF_NOKICKIDLE 창에 메시지를 보내지 WM_KICKIDLE 마세요.

  • MLF_SHOWONIDLE 메시지 큐가 유휴 상태가 되면 창을 표시합니다.

Return Value

멤버 함수에 nResult 전달된 EndModalLoop 매개 변수의 값을 지정한 다음 모달 루프를 종료하는 데 사용됩니다.

설명

기본적으로 ContinueModal 호출된 후에 EndModalLoop 반환 FALSE 됩니다. 에 제공 nResult 된 값을 반환합니다 EndModalLoop.

CWnd::ScreenToClient

디스플레이에 있는 지정된 점 또는 사각형의 화면 좌표를 클라이언트 좌표로 변환합니다.

void ScreenToClient(LPPOINT lpPoint) const;  void ScreenToClient(LPRECT lpRect) const;

매개 변수

lpPoint
변환할 CPoint 화면 좌표가 포함된 개체 또는 POINT 구조를 가리킵니다.

lpRect
변환할 CRect 화면 좌표가 포함된 개체 또는 RECT 구조를 가리킵니다.

설명

멤버 함수는 ScreenToClient 제공된 lpPointlpRect 화면 좌표를 클라이언트 좌표로 바꿉니다. 새 좌표는 클라이언트 영역의 왼쪽 위 모서리를 기준으로 합니다 CWnd .

예시

에 대한 예제를 CListCtrl::GetItemRect참조하세요.

CWnd::ScrollWindow

현재 CWnd 개체의 클라이언트 영역 내용을 스크롤합니다.

void ScrollWindow(
    int xAmount,
    int yAmount,
    LPCRECT lpRect = NULL,
    LPCRECT lpClipRect = NULL);

매개 변수

xAmount
가로 스크롤의 양(디바이스 단위)을 지정합니다. 이 매개 변수는 왼쪽으로 스크롤하려면 음수 값이어야 합니다.

yAmount
세로 스크롤의 양(디바이스 단위)을 지정합니다. 이 매개 변수는 위로 스크롤하려면 음수 값이어야 합니다.

lpRect
스크롤할 CRect 클라이언트 영역의 부분을 지정하는 개체 또는 RECT 구조를 가리킵니다. 이 NULL경우 lpRect 전체 클라이언트 영역이 스크롤됩니다. 커서 사각형이 스크롤 사각형과 교차하는 경우 캐리트의 위치가 변경됩니다.

lpClipRect
스크롤할 CRect 클리핑 사각형을 지정하는 개체 또는 RECT 구조를 가리킵니다. 이 사각형 내의 비트만 스크롤됩니다. 이 사각형 외부의 비트는 사각형에 lpRect 있더라도 영향을 받지 않습니다. 이 NULL경우 lpClipRect 스크롤 사각형에서 클리핑이 수행되지 않습니다.

설명

캐리트가 스크롤 ScrollWindow 되는 중이 CWnd 면 자동으로 캐리트를 숨겨 지울 수 없도록 한 다음 스크롤이 완료된 후 캐리트를 복원합니다. 이에 따라 캐리트 위치가 조정됩니다.

멤버 함수에 ScrollWindow 의해 발견된 영역은 다시 그려지지 않지만 현재 CWnd 개체의 업데이트 영역에 결합됩니다. 애플리케이션은 결국 지역에 다시 그려야 한다는 메시지를 받게 됩니다 WM_PAINT . 스크롤이 완료되는 동시에 발견된 영역을 다시 그리려면 호출 후 즉시 멤버 함수를 UpdateWindow 호출 ScrollWindow합니다.

NULL경우 lpRect 창에 있는 자식 창의 위치는 지정한 양에 따라 xAmount 오프셋되고yAmount, 해당 창의 CWnd 잘못된(미해제) 영역도 오프셋됩니다. ScrollWindow 가 더 빠를 때 lpRect 입니다 NULL.

그렇지 NULL않은 경우 lpRect 자식 창의 위치가 변경되지 않고 잘못된 영역 CWnd 이 오프셋되지 않습니다. 업데이트되지 lpRect 않은 NULL경우 문제를 방지하려면 호출하기 전에 멤버 함수를 호출 ScrollWindowUpdateWindow 하여 다시 칠 CWnd 합니다.

CWnd::ScrollWindowEx

창의 클라이언트 영역 내용을 스크롤합니다.

int ScrollWindowEx(
    int dx,
    int dy,
    LPCRECT lpRectScroll,
    LPCRECT lpRectClip,
    CRgn* prgnUpdate,
    LPRECT lpRectUpdate,
    UINT flags);

매개 변수

dx
가로 스크롤의 양(디바이스 단위)을 지정합니다. 이 매개 변수는 왼쪽으로 스크롤하려면 음수 값이 있어야 합니다.

dy
세로 스크롤의 양(디바이스 단위)을 지정합니다. 이 매개 변수는 위로 스크롤하려면 음수 값이 있어야 합니다.

lpRectScroll
스크롤할 RECT 클라이언트 영역의 부분을 지정하는 구조를 가리킵니다. 이 매개 변수인 NULL경우 전체 클라이언트 영역이 스크롤됩니다.

lpRectClip
스크롤할 RECT 클리핑 사각형을 지정하는 구조를 가리킵니다. 이 구조체는 을 가리키는 lpRectScroll사각형보다 우선합니다. 이 사각형 내의 비트만 스크롤됩니다. 이 사각형 외부의 비트는 사각형에 lpRectScroll 있더라도 영향을 받지 않습니다. 이 매개 변수인 NULL경우 스크롤 사각형에서 클리핑이 수행되지 않습니다.

prgnUpdate
스크롤하여 무효화된 지역을 보유하도록 수정된 지역을 식별합니다. 이 매개 변수는 NULL일 수 있습니다.

lpRectUpdate
스크롤하여 RECT 무효화된 사각형의 경계를 수신하는 구조를 가리킵니다. 이 매개 변수는 NULL일 수 있습니다.

flags
다음 값 중 하나가 될 수 있습니다.

  • SW_ERASE 지정 SW_INVALIDATE한 경우 창에 메시지를 보내 WM_ERASEBKGND 새로 무효화된 영역을 지웁니다.

  • SW_INVALIDATE 스크롤한 후 식별되는 prgnUpdate 영역을 무효화합니다.

  • SW_SCROLLCHILDREN지정된 dx 픽셀 수와 dy을 기준으로 가리키는 사각형과 교차하는 lpRectScroll 모든 자식 창을 스크롤합니다. Windows는 WM_MOVE 이동하지 않더라도 교차 lpRectScroll하는 모든 자식 창에 메시지를 보냅니다. 자식 창이 스크롤되고 커서 사각형이 스크롤 사각형과 교차하면 캐리트의 위치가 변경됩니다.

Return Value

반환 값은 함수가 SIMPLEREGION 성공하면 (사각형이 무효화된 영역), COMPLEXREGION (비사각형 무효화된 지역, 겹치는 사각형) 또는 NULLREGION (무효화된 영역 없음)입니다. 그렇지 않으면 반환 값입니다 ERROR.

설명

이 함수는 함수와 ScrollWindow 유사하며 몇 가지 추가 기능이 있습니다.

SW_ERASE 지정 ScrollWindowEx 되지 않은 경우 SW_INVALIDATE 멤버 함수는 스크롤된 영역을 무효화하지 않습니다. 이러한 플래그 중 하나가 설정 ScrollWindowEx 되면 이 영역이 무효화됩니다. 애플리케이션이 멤버 함수를 호출하거나, 멤버 함수를 호출 UpdateWindowRedrawWindow 하거나(지정 RDW_UPDATENOW 또는 RDW_ERASENOW) 애플리케이션 큐에서 메시지를 검색할 때까지 영역이 WM_PAINT 업데이트되지 않습니다.

창에 스타일이 WS_CLIPCHILDREN 있는 경우 반환된 영역은 prgnUpdate 업데이트해야 하는 자식 창의 영역을 포함하여 업데이트해야 하는 스크롤된 창의 총 영역을 지정하고 lpRectUpdate 나타냅니다.

플래그를 SW_SCROLLCHILDREN 지정하면 자식 창의 일부가 스크롤되는 경우 Windows에서 화면을 제대로 업데이트하지 않습니다. 원본 사각형 외부에 있는 스크롤된 자식 창의 부분은 지워지지 않으며 새 대상에서 제대로 다시 그려지지 않습니다. Windows 함수를 DeferWindowPos 사용하여 사각형 내에 lpRectScroll 완전히 놓이지 않는 자식 창을 이동합니다. 플래그가 설정되고 캐리트 사각형이 스크롤 사각형과 교차하면 SW_SCROLLCHILDREN 커서의 위치가 변경됩니다.

창에 클래스 스타일이 있는지 여부에 관계없이 모든 입력 및 출력 좌표(for , , 및)는 클라이언트 좌표로 CS_CLASSDCCS_OWNDC 간주됩니다.prgnUpdatelpRectUpdatelpRectCliplpRectScroll LPtoDPDPtoLP 필요한 경우 논리 좌표와 Windows 함수를 사용하여 변환합니다.

CWnd::SendChildNotifyLastMsg

이 멤버 함수는 부모 창에서 자식 창에 알림 메시지를 제공하기 위해 프레임워크에서 호출되므로 자식 창에서 작업을 처리할 수 있습니다.

BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);

매개 변수

pResult
부모 창에서 반환할 자식 창에서 생성된 결과입니다.

Return Value

자식 창에서 부모로 보낸 메시지를 처리한 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

SendChildNotifyLastMsg 현재 메시지가 반영된 메시지인 경우 원본으로 보냅니다.

메시지 리플렉션에 대한 자세한 내용은 반영된 메시지 처리를 참조 하세요.

CWnd::SendDlgItemMessage

컨트롤에 메시지를 보냅니다.

LRESULT SendDlgItemMessage(
    int nID,
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

매개 변수

nID
메시지를 받을 대화 상자 컨트롤의 식별자를 지정합니다.

message
보낼 메시지를 지정합니다.

wParam
추가 메시지 종속 정보를 지정합니다.

lParam
추가 메시지 종속 정보를 지정합니다.

Return Value

컨트롤의 창 프로시저에서 반환된 값을 지정하거나 컨트롤을 찾을 수 없는 경우 0을 지정합니다.

설명

멤버 함수는 SendDlgItemMessage 메시지가 처리될 때까지 반환되지 않습니다.

사용 SendDlgItemMessage 은 지정된 컨트롤에 *를 CWnd가져오고 멤버 함수를 호출하는 것과 SendMessage 동일합니다.

예시

void CMyDlg::SetSpinRange()
{
   //set the min and max range of the up/down or spin control
   SendDlgItemMessage(IDC_SPIN1, UDM_SETRANGE, 0, (LPARAM)MAKELONG(8, 1));
}

CWnd::SendMessage

지정된 메시지를 이 창으로 보냅니다.

LRESULT SendMessage(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0);

매개 변수

message
보낼 메시지를 지정합니다.

wParam
추가 메시지 종속 정보를 지정합니다.

lParam
추가 메시지 종속 정보를 지정합니다.

Return Value

메시지 처리의 결과입니다. 해당 값은 보낸 메시지에 따라 달라집니다.

설명

멤버 함수는 SendMessage 창 프로시저를 직접 호출하고 해당 창 프로시저가 메시지를 처리할 때까지 반환되지 않습니다. 이는 메시지를 창의 메시지 큐에 배치하고 즉시 반환하는 멤버 함수와는 대조적 PostMessage 입니다.

예시

void CAboutDlg::OnPaint()
{
   // This code, normally emitted by the Application Wizard for a dialog-
   // based project for the dialog's WM_PAINT handler, runs only if the
   // window is iconic. The window erases the icon's area, then
   // paints the icon referenced by m_hIcon.
   if (IsIconic())
   {
      CPaintDC dc(this); // device context for painting

      SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);

      // Center icon in client rectangle
      int cxIcon = GetSystemMetrics(SM_CXICON);
      int cyIcon = GetSystemMetrics(SM_CYICON);
      CRect rect;
      GetClientRect(&rect);
      int x = (rect.Width() - cxIcon + 1) / 2;
      int y = (rect.Height() - cyIcon + 1) / 2;

      // Draw the icon
      dc.DrawIcon(x, y, m_hIcon);
   }
   else
   {
      CDialog::OnPaint();
   }
}

CWnd::SendMessageToDescendants

이 멤버 함수를 호출하여 지정된 Windows 메시지를 모든 하위 창으로 보냅니다.

void SendMessageToDescendants(
    UINT message,
    WPARAM wParam = 0,
    LPARAM lParam = 0,
    BOOL bDeep = TRUE,
    BOOL bOnlyPerm = FALSE);

매개 변수

message
보낼 메시지를 지정합니다.

wParam
추가 메시지 종속 정보를 지정합니다.

lParam
추가 메시지 종속 정보를 지정합니다.

bDeep
검색할 수준을 지정합니다. 경우 TRUE모든 자식을 재귀적으로 검색합니다. 이 경우 FALSE직함 자식만 검색합니다.

bOnlyPerm
임시 창에서 메시지를 받을지 여부를 지정합니다. 이 경우 TRUE임시 창에서 메시지를 받을 수 있습니다. 이 경우 FALSE영구 창만 메시지를 받습니다. 임시 창에 대한 자세한 내용은 Technical Note 3을 참조하세요.

설명

FALSE경우 bDeep 메시지는 창의 직계 자식에게만 전송되고, 그렇지 않으면 메시지가 모든 하위 창으로 전송됩니다.

bOnlyPermTRUE있는 경우 bDeep 검색은 임시 창 아래에서 계속됩니다. 이 경우 검색 중에 발생한 영구 창만 메시지를 받습니다. 이 FALSE경우 bDeep 메시지는 창의 직할 자식에게만 전송됩니다.

예시

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// change font of child controls of a dialog
LOGFONT lf = {0};
// redraw of child controls not needed in OnInitDialog
// since controls aren't drawn yet.
short int fRedraw = FALSE;

lf.lfHeight = 15; // Request a 15-pixel-high font

// with face name "Arial".
wcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));

m_font.CreateFontIndirect(&lf); // Create the font.

SendMessageToDescendants(WM_SETFONT,
                         (WPARAM)m_font.m_hObject, //handle to font
                         MAKELONG((WORD)fRedraw, 0),
                         FALSE); // send to all descendants(TRUE) or
                                 // just children of *this (FALSE)

CWnd::SendNotifyMessage

지정된 메시지를 창으로 보냅니다.

BOOL SendNotifyMessage(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

매개 변수

message
보낼 메시지를 지정합니다.

wParam
추가 메시지 종속 정보를 지정합니다.

lParam
추가 메시지 종속 정보를 지정합니다.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

호출 스레드 SendNotifyMessage 에서 창을 만든 경우 창에 대한 창 프로시저를 호출하고 창 프로시저가 메시지를 처리할 때까지 반환되지 않습니다. 창이 다른 스레드 SendNotifyMessage 에 의해 만들어진 경우 창을 창 프로시저에 전달하고 즉시 반환합니다. 창 프로시저가 메시지 처리를 완료할 때까지 기다리지 않습니다.

CWnd::SetActiveWindow

활성 창을 만듭니다 CWnd .

CWnd* SetActiveWindow();

Return Value

이전에 활성화된 창입니다.

반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

멤버 함수는 SetActiveWindow 애플리케이션이 임의로 활성 창 및 입력 포커스를 인수할 수 있으므로 주의하여 사용해야 합니다. 일반적으로 Windows는 모든 정품 인증을 처리합니다.

CWnd::SetCapture

커서의 위치에 관계없이 모든 후속 마우스 입력을 현재 CWnd 개체로 보내도록 합니다.

CWnd* SetCapture();

Return Value

이전에 모든 마우스 입력을 받은 창 개체에 대한 포인터입니다. 이러한 창이 없는 경우입니다 NULL . 반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

더 이상 모든 마우스 입력이 필요하지 않은 경우 CWnd 애플리케이션은 다른 창에서 마우스 입력을 ReleaseCapture 받을 수 있도록 함수를 호출해야 합니다.

마우스 입력이 캡처되는 동안에는 활성 창으로 전송되지 않거나 WM_SETCURSOR 메시지가 전송되지 않습니다WM_NCHITTEST.

CWnd::SetCaretPos

캐리트의 위치를 설정합니다.

static void PASCAL SetCaretPos(POINT point);

매개 변수

point
caret의 새 x 및 y 좌표(클라이언트 좌표)를 지정합니다.

설명

멤버 함수는 SetCaretPos 현재 작업의 창에서 소유하는 경우에만 캐리트를 이동합니다. SetCaretPos 는 캐리트가 숨겨져 있는지 여부를 옮깁니다.

케어는 공유 리소스입니다. 창이 캐리트를 소유하지 않는 경우 캐리트를 이동해서는 안됩니다.

예시

// The following code snippet shows a caret when the left
// mouse button is pressed, and sets the caret's position to
// the cursor's position.
void CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
   //create a solid caret, the width is 2, the length is 20.
   CreateSolidCaret(2, 20);

   SetCaretPos(point);
   ShowCaret();

   CView::OnLButtonDown(nFlags, point);
}

CWnd::SetClipboardViewer

클립보드의 내용이 변경될 때마다 메시지를 통해 WM_DRAWCLIPBOARD 알림을 받는 창 체인에 이 창을 추가합니다.

HWND SetClipboardViewer();

Return Value

성공하면 클립보드 뷰어 체인의 다음 창에 대한 핸들입니다. 애플리케이션은 이 핸들을 저장하고(멤버 변수로 저장할 수 있음) 클립보드 뷰어 체인 메시지에 응답할 때 이 핸들을 사용해야 합니다.

설명

클립보드 뷰어 체인의 일부인 창은 메시지에 응답WM_DRAWCLIPBOARDWM_CHANGECBCHAIN하고 WM_DESTROY 메시지를 체인의 다음 창에 전달해야 합니다.

이 멤버 함수는 창에 WM_DRAWCLIPBOARD 메시지를 보냅니다. 클립보드 뷰어 체인의 다음 창에 대한 WM_DRAWCLIPBOARD 핸들이 아직 반환되지 않았으므로 애플리케이션은 호출 SetClipboardViewer중에 수신하는 메시지를 전달해서는 안 됩니다.

클립보드 뷰어 체인에서 자신을 제거하려면 애플리케이션이 멤버 함수를 ChangeClipboardChain 호출해야 합니다.

CWnd::SetDlgCtrlID

창의 창 ID 또는 컨트롤 ID를 새 값으로 설정합니다.

int SetDlgCtrlID(int nID);

매개 변수

nID
컨트롤의 식별자에 대해 설정할 새 값입니다.

Return Value

성공하면 창의 이전 식별자입니다. 그렇지 않으면 0입니다.

설명

창은 대화 상자의 컨트롤뿐만 아니라 모든 자식 창일 수 있습니다. 창은 최상위 창일 수 없습니다.

CWnd::SetDlgItemInt

대화 상자에서 지정된 컨트롤의 텍스트를 지정된 정수 값의 문자열 표현으로 설정합니다.

void SetDlgItemInt(
    int nID,
    UINT nValue,
    BOOL bSigned = TRUE);

매개 변수

nID
변경할 컨트롤의 정수 ID를 지정합니다.

nValue
항목 텍스트를 생성하는 데 사용되는 정수 값을 지정합니다.

bSigned
정수 값이 부호 있는지 아니면 부호 없는지를 지정합니다. 이 매개 변수가 TRUEnValue 있으면 서명됩니다. 이 매개 변수가 TRUEnValue 0보다 작으면 문자열의 첫 번째 숫자 앞에 빼기 기호가 배치됩니다. 이 매개 변수인 FALSEnValue 경우 서명되지 않습니다.

설명

SetDlgItemIntWM_SETTEXT 지정된 컨트롤에 메시지를 보냅니다.

예시

에 대한 예제를 CWnd::SetDlgItemText참조하세요.

CWnd::SetDlgItemText

창 또는 대화 상자가 소유한 컨트롤의 캡션 또는 텍스트를 설정합니다.

void SetDlgItemText(
    int nID,
    LPCTSTR lpszString);

매개 변수

nID
텍스트를 설정할 컨트롤을 식별합니다.

lpszString
컨트롤에 CString 복사할 텍스트가 들어 있는 개체 또는 null로 끝나는 문자열을 가리킵니다.

설명

SetDlgItemTextWM_SETTEXT 지정된 컨트롤에 메시지를 보냅니다.

예시

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// Initialize dialog controls
SetDlgItemText(IDC_EDITNAME, _T("Type in text"));
SetDlgItemInt(IDC_EDITNUM, 100);

CWnd::SetForegroundWindow

창을 만든 스레드를 전경으로 전환하고 창을 활성화합니다.

BOOL SetForegroundWindow();

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

키보드 입력이 창으로 전달되고 사용자에 대한 다양한 시각적 신호가 변경됩니다. 포그라운드 창은 사용자가 현재 작업 중인 창입니다. 포그라운드 창은 최상위 창(프레임 창 또는 대화 상자)에만 적용됩니다.

예시

에 대한 예제를 CWnd::FindWindow참조하세요.

CWnd::SetFocus

입력 포커스를 클레임합니다.

CWnd* SetFocus();

Return Value

이전에 입력 포커스가 있었던 창 개체에 대한 포인터입니다. 이러한 창이 없는 경우입니다 NULL . 반환된 포인터는 일시적일 수 있으며 저장해서는 안 됩니다.

설명

입력 포커스는 모든 후속 키보드 입력을 이 창으로 전달합니다. 이전에 입력 포커스가 있던 모든 창이 손실됩니다.

멤버 함수는 SetFocus 입력 포커스가 손실된 창에 메시지를 보내고 입력 포커스 WM_SETFOCUS 를 받는 창에 메시지를 보냅니 WM_KILLFOCUS 다. 창 또는 해당 부모도 활성화합니다.

현재 창이 활성 상태이지만 포커스가 없는 경우(즉, 창에 포커스가 없음) 누른 키는 메시지를 WM_SYSCHARWM_SYSKEYDOWN생성합니다WM_SYSKEYUP.

CWnd::SetFont

WM_SETFONT 지정된 글꼴을 사용하도록 창에 메시지를 보냅니다.

void SetFont(
    CFont* pFont,
    BOOL bRedraw = TRUE);

매개 변수

pFont
CFont 개체에 대한 포인터입니다.

bRedraw
TRUE 메시지를 처리 WM_SETFONT 한 직후 창을 다시 그리려면 이고, 그렇지 않으면 FALSE.

설명

창에서 메시지를 처리하지 않는 한 이 메서드는 WM_SETFONT 효과가 없습니다. 메시지에 대한 WM_SETFONT 메시지 처리기가 포함된 미리 정의된 창 클래스에 연결되기 때문에 이 메시지 처리에서 CWnd 파생되는 많은 MFC 클래스입니다. 이 메서드를 사용하려면 파생되는 클래스가 CWnd 메시지에 대한 WM_SETFONT 메서드 처리기를 정의해야 합니다.

CWnd::SetIcon

로 식별되는 특정 아이콘으로 핸들을 설정하려면 이 멤버 함수를 hIcon호출합니다.

HICON SetIcon(
    HICON hIcon,
    BOOL bBigIcon);

매개 변수

hIcon
이전 아이콘에 대한 핸들입니다.

bBigIcon
이면 TRUE32픽셀 x 32픽셀 아이콘을 지정하고, 16픽셀 x 16픽셀 아이콘을 지정합니다 FALSE.

Return Value

아이콘에 대한 핸들입니다.

설명

창 클래스가 등록되면 아이콘이 선택됩니다.

예시

에 대한 예제를 CWnd::GetSystemMenu참조하세요.

CWnd::SetLayeredWindowAttributes

계층적 창의 불투명도 및 투명도 색상 키를 설정합니다.

BOOL SetLayeredWindowAttributes(
    COLORREF crKey,
    BYTE bAlpha,
    DWORD dwFlags);

매개 변수

crKey
계층화된 창을 작성할 COLORREF 때 사용할 투명도 색 키를 지정하는 값에 대한 포인터입니다. 이 색의 창에서 그린 모든 픽셀은 투명합니다. 매크로를 COLORREF생성하려면 매크로를 RGB 사용합니다.

bAlpha
계층화된 창의 불투명도를 설명하는 데 사용되는 알파 값입니다. 자세한 내용은 구조체 SourceConstantAlpha 의 멤버를 참조하세요 BLENDFUNCTION . 0이면 bAlpha 창이 완전히 투명합니다. 255이면 bAlpha 창이 불투명합니다.

dwFlags
수행할 작업을 지정합니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다. 가능한 값 목록은 다음을 참조하세요 SetLayeredWindowAttributes.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 SetLayeredWindowAttributes의 기능을 에뮬레이트합니다.

CWnd::SetMenu

현재 메뉴를 지정된 메뉴로 설정합니다.

BOOL SetMenu(CMenu* pMenu);

매개 변수

pMenu
새 메뉴를 식별합니다. 이 매개 변수인 NULL경우 현재 메뉴가 제거됩니다.

Return Value

메뉴가 변경된 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

창이 메뉴 변경 내용에 반영되도록 다시 그려지도록 합니다.

SetMenu 는 이전 메뉴를 삭제하지 않습니다. 애플리케이션은 이 작업을 수행하기 위해 멤버 함수를 호출 CMenu::DestroyMenu 해야 합니다.

예시

에 대한 예제를 CMenu::LoadMenu참조하세요.

CWnd::SetOwner

현재 창의 소유자를 지정된 창 개체로 설정합니다.

void SetOwner(CWnd* pOwnerWnd);

매개 변수

pOwnerWnd
창 개체의 새 소유자를 식별합니다. 이 매개 변수인 NULL경우 창 개체에는 소유자가 없습니다.

설명

그러면 이 소유자는 현재 창 개체에서 명령 메시지를 받을 수 있습니다. 기본적으로 현재 창의 부모는 소유자입니다.

창 계층 구조와 관련이 없는 창 개체 간에 연결을 설정하는 것이 유용한 경우가 많습니다. 예를 들어 CToolBar 부모 대신 소유자에게 알림을 보냅니다. 이렇게 하면 도구 모음이 다른 창(예: 현재 위치 프레임 창)으로 알림을 보내는 동안 한 창(예: OLE 컨테이너 애플리케이션 창)의 자식이 될 수 있습니다. 또한 현재 위치 편집 중에 서버 창이 비활성화되거나 활성화되면 프레임 창이 소유한 모든 창이 숨겨지거나 표시됩니다. 이 소유권은 .에 대한 호출을 통해 명시적으로 설정됩니다 SetOwner.

이 함수의 소유권 개념은 .의 GetWindow소유권 개념과 다릅니다.

CWnd::SetParent

자식 창의 부모 창을 변경합니다.

CWnd* SetParent(CWnd* pWndNewParent);

매개 변수

pWndNewParent
새 부모 창을 식별합니다.

Return Value

성공하면 이전 부모 창 개체에 대한 포인터입니다. 반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

자식 창이 표시되면 Windows에서 적절한 다시 그리기 및 다시 그리기를 수행합니다.

CWnd::SetProperty

이 멤버 함수를 호출하여 로 지정된 dwDispIDOLE 컨트롤 속성을 설정합니다.

void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

매개 변수

dwDispID
설정할 속성을 확인합니다.

vtProp
설정할 속성의 유형을 지정합니다. 가능한 값은 에 대한 설명 섹션을 COleDispatchDriver::InvokeHelper참조하세요.

...
vtProp에서 지정한 유형의 단일 매개 변수

설명

참고 항목

이 함수는 OLE 컨트롤을 CWnd 나타내는 개체에서만 호출되어야 합니다.

OLE 컨트롤 컨테이너에서 이 멤버 함수를 사용하는 방법에 대한 자세한 내용은 ActiveX 컨트롤 컨테이너: ActiveX 컨트롤 컨테이너에서 ActiveX 컨트롤 프로그래밍 문서를 참조하세요.

CWnd::SetRedraw

애플리케이션은 변경 내용을 다시 그릴 수 있도록 하거나 변경 내용이 다시 그려지는 것을 방지하기 위해 호출 SetRedraw 합니다.

void SetRedraw(BOOL bRedraw = TRUE);

매개 변수

bRedraw
다시 그리기 플래그의 상태를 지정합니다. 이 매개 변수인 TRUE경우 다시 그리기 플래그가 설정됩니다. 이 경우 FALSE플래그가 지워집니다.

설명

이 멤버 함수는 다시 그리기 플래그를 설정하거나 지웁니다. 다시 그리기 플래그가 지워지는 동안 각 변경 후에 내용이 업데이트되지 않으며 다시 그리기 플래그가 설정될 때까지 다시 그려지지 않습니다. 예를 들어 목록 상자에 여러 항목을 추가해야 하는 애플리케이션은 다시 그리기 플래그를 지우고 항목을 추가한 다음 다시 그리기 플래그를 설정할 수 있습니다. 마지막으로, 애플리케이션은 목록 상자를 다시 칠할 수 있도록 또는 InvalidateRect 멤버 함수를 호출 Invalidate 할 수 있습니다.

예시

// Updating a control or window with large amounts of data may cause
// flicker. In such cases it may be better to turn off drawing

//m_list is a member of type CListCtrl
m_List.SetRedraw(FALSE); // turn drawing off regardless of list mode

//
// Update control
//

m_List.SetRedraw(TRUE); // turn drawing back on and update the window

// invalidate the entire control, force painting
m_List.Invalidate();
m_List.UpdateWindow();

CWnd::SetScrollInfo

이 멤버 함수를 호출하여 구조체가 스크롤 막대에 SCROLLINFO 대해 기본 정보를 설정합니다.

BOOL SetScrollInfo(
    int nBar,
    LPSCROLLINFO lpScrollInfo,
    BOOL bRedraw = TRUE);

매개 변수

nBar
스크롤 막대가 컨트롤인지 아니면 창의 비클라이언트 영역의 일부인지를 지정합니다. 비클라이언트 영역의 일부인 경우 nBar는 스크롤 막대가 가로, 세로 또는 둘 다에 배치되는지 여부를 나타냅니다. 다음 중 하나여야 합니다.

  • SB_CTL 스크롤 막대 컨트롤에 대한 매개 변수를 포함합니다. 데이터 멤버는 m_hWnd 스크롤 막대 컨트롤의 핸들이어야 합니다.

  • SB_HORZ 창이 가로 스크롤 막대임을 지정합니다.

  • SB_VERT 창이 세로 스크롤 막대임을 지정합니다.

lpScrollInfo
구조체에 대한 포인터입니다 SCROLLINFO . 이 구조에 대한 자세한 내용은 Windows SDK를 참조하세요.

bRedraw
새 위치를 반영하도록 스크롤 막대를 다시 그릴지 여부를 지정합니다. 이 TRUE경우 bRedraw 스크롤 막대가 다시 그려집니다. 이 FALSE경우 다시 그려지지 않습니다. 스크롤 막대는 기본적으로 다시 그려집니다.

Return Value

성공하면 반환은 .입니다 TRUE. 그렇지 않으면 FALSE입니다.

설명

구조체에는 SCROLLINFO 최소 및 최대 스크롤 위치, 페이지 크기 및 스크롤 상자의 위치(엄지 손가락)를 포함하여 스크롤 막대에 대한 정보가 포함됩니다. SCROLLINFO 구조 기본값 변경에 대한 자세한 내용은 Windows SDK의 구조 항목을 참조하세요.

스크롤 막대 위치를 나타내고 CWnd::OnVScroll16비트 위치 CWnd::OnHScroll 데이터만 제공하는 MFC Windows 메시지 처리기입니다. GetScrollInfoSetScrollInfo 32비트 스크롤 막대 위치 데이터를 제공합니다. 따라서 애플리케이션은 처리하는 CWnd::OnHScroll 동안 호출 GetScrollInfo 하거나 CWnd::OnVScroll 32비트 스크롤 막대 위치 데이터를 가져올 수 있습니다.

참고 항목

CWnd::GetScrollInfo 를 사용하면 애플리케이션에서 32비트 스크롤 막대 위치를 사용할 수 있습니다.

CWnd::SetScrollPos

스크롤 상자의 현재 위치를 설정하고 요청된 경우 스크롤 막대를 다시 그려 스크롤 상자의 새 위치를 반영합니다.

int SetScrollPos(
    int nBar,
    int nPos,
    BOOL bRedraw = TRUE);

매개 변수

nBar
설정할 스크롤 막대를 지정합니다. 이 매개 변수는 다음 중 하나일 수 있습니다.

  • SB_HORZ 창의 가로 스크롤 막대에서 스크롤 상자의 위치를 설정합니다.

  • SB_VERT 창의 세로 스크롤 막대에서 스크롤 상자의 위치를 설정합니다.

nPos
스크롤 상자의 새 위치를 지정합니다. 스크롤 범위 내에 있어야 합니다.

bRedraw
새 스크롤 상자 위치를 반영하도록 스크롤 막대를 다시 칠할지 여부를 지정합니다. 이 매개 변수인 TRUE경우 스크롤 막대가 다시 그려집니다. 이 경우 FALSE스크롤 막대가 다시 그려지지 않습니다.

Return Value

스크롤 상자의 이전 위치입니다.

설명

FALSE 설정 bRedraw 은 스크롤 막대가 다른 함수에 대한 후속 호출에 의해 다시 그려질 때마다 유용합니다.

CWnd::SetScrollRange

지정된 스크롤 막대에 대한 최소 및 최대 위치 값을 설정합니다.

void SetScrollRange(
    int nBar,
    int nMinPos,
    int nMaxPos,
    BOOL bRedraw = TRUE);

매개 변수

nBar
설정할 스크롤 막대를 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

  • SB_HORZ 창의 가로 스크롤 막대 범위를 설정합니다.

  • SB_VERT 창의 세로 스크롤 막대 범위를 설정합니다.

nMinPos
최소 스크롤 위치를 지정합니다.

nMaxPos
최대 스크롤 위치를 지정합니다.

bRedraw
변경 내용을 반영하도록 스크롤 막대를 다시 그릴지 여부를 지정합니다. 이 TRUE경우 bRedraw 스크롤 막대가 다시 그려집니다. 이 경우 FALSE스크롤 막대가 다시 그려지지 않습니다.

설명

표준 스크롤 막대를 숨기거나 표시하는 데 사용할 수도 있습니다.

애플리케이션은 스크롤 막대 알림 메시지를 처리하는 동안 스크롤 막대를 숨기기 위해 이 함수를 호출해서는 안 됩니다.

멤버 함수 bRedraw 호출 SetScrollRange 바로 뒤에 SetScrollPos 호출하는 경우 스크롤 막대가 두 번 그려지지 않도록 멤버 함수의 매개 변수 SetScrollPos 는 0이어야 합니다.

표준 스크롤 막대의 기본 범위는 0~100입니다. 스크롤 막대 컨트롤의 기본 범위는 비어 있습니다(값과 nMaxPos 값은 모두 nMinPos 0임). 지정 nMinPos 한 값과 nMaxPos 다음보다 INT_MAX크지 않아야 하는 값의 차이입니다.

CWnd::SetTimer

시스템 타이머를 설치합니다.

UINT_PTR SetTimer(
    UINT_PTR nIDEvent,
    UINT nElapse,
    void (CALLBACK* lpfnTimer)(HWND,
    UINT,
    UINT_PTR,
    DWORD));

매개 변수

nIDEvent
0이 아닌 타이머 식별자를 지정합니다. 타이머 식별자가 고유하면 이 동일한 값이 반환 SetTimer됩니다. 그렇지 않으면 SetTimer 새 고유 값을 결정하고 반환합니다. 콜백 함수가 있는 창 타이머의 NULL 경우 값은 현재 창과 연결된 다른 창 타이머에 대해서만 고유해야 합니다. 콜백 타이머의 경우 모든 프로세스의 모든 타이머에 대해 값이 고유해야 합니다. 따라서 콜백 타이머를 만들 때 반환된 값이 지정한 값과 다를 수 있습니다.

nElapse
시간 제한 값 또는 간격을 밀리초 단위로 지정합니다.

lpfnTimer
메시지를 처리하는 애플리케이션 제공 TimerProc 콜백 함수의 주소를 지정합니다 WM_TIMER . 이 매개 변수인 NULLWM_TIMER 경우 메시지는 애플리케이션의 메시지 큐에 배치되고 개체에서 CWnd 처리됩니다.

Return Value

함수가 성공한 경우 새 타이머의 타이머 식별자입니다. 이 값은 매개 변수를 통해 nIDEvent 전달된 값과 같거나 같지 않을 수 있습니다. 애플리케이션은 항상 반환 값을 멤버 함수에 KillTimer 전달하여 타이머를 종료해야 합니다. 성공하면 0이 아닌 값입니다. 그렇지 않으면 0입니다.

설명

간격 값이 지정되고 간격이 경과할 때마다 시스템은 설치 애플리케이션의 설치 메시지 큐에 메시지를 게시 WM_TIMER 하거나 애플리케이션 정의 TimerProc 콜백 함수에 메시지를 전달합니다.

콜백 함수의 lpfnTimer 이름은 지정할 TimerProc필요가 없지만 정적 함수로 선언하고 다음과 같이 정의해야 합니다.

void CALLBACK TimerProc(
    HWND hWnd,   // handle of CWnd that called SetTimer
    UINT nMsg,   // WM_TIMER
    UINT_PTR nIDEvent,   // timer identification
    DWORD dwTime    // system time);

예시

이 예제에서는 메시지를 CWnd::OnTimerCWnd::KillTimer 사용하고CWnd::SetTimer, 메시지를 처리합니다WM_TIMER. 첫 번째 타이머는 2초마다 기본 프레임 창에 메시지를 보내 WM_TIMER 도록 설정됩니다OnStartTimer. OnTimer 이벤트 처리기는 기본 프레임 창에 대한 메시지를 처리 WM_TIMER 합니다. 이 방법을 사용하면 PC 스피커가 2초마다 경고음이 울립니다. 두 번째 타이머는 3.75초마다 콜백 함수에 메시지를 보냅니다. OnStopTimer 는 각 타이머 ID를 호출 CWnd::KillTimer 하여 두 타이머를 모두 중지합니다.

void CMainFrame::OnStartTimer()
{
   // This timer uses a WM_TIMER message, not a callback.
   // Therefore, the timer is specific to this window.
   // m_nWindowTimer is a UINT_PTR field.
   m_nWindowTimer = SetTimer(1, 2000, NULL);

   // For this demo, we specify an interval that won't overlap
   // with the window timer.
   m_nCallbackTimer = SetTimer(2, 3750, &CMainFrame::MyTimerProc);

   // See whether we got the ID we requested in the first parameter.
#ifdef _DEBUG
   CString str;
   str.Format(_T("m_ncallbackTImer ID = %d"), m_nCallbackTimer);
   TRACE(str);
#endif
}

void CALLBACK CMainFrame::MyTimerProc(
    HWND hWnd,         // handle of CWnd that called SetTimer
    UINT nMsg,         // WM_TIMER
    UINT_PTR nIDEvent, // timer identification
    DWORD dwTime       // system time
)
{
   MessageBeep(0x00000030L); // Windows question sound.
}

void CMainFrame::OnStopTimer()
{
   KillTimer(m_nWindowTimer);
   KillTimer(m_nCallbackTimer);
}

void CMainFrame::OnTimer(UINT nIDEvent)
{
   MessageBeep(0xFFFFFFFF); // Beep

   // Call base class handler.
   CMDIFrameWnd::OnTimer(nIDEvent);
}

CWnd::SetWindowContextHelpId

이 멤버 함수를 호출하여 도움말 컨텍스트 식별자를 지정된 창과 연결합니다.

BOOL SetWindowContextHelpId(DWORD dwContextHelpId);

매개 변수

dwContextHelpId
도움말 컨텍스트 식별자입니다.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

자식 창에 도움말 컨텍스트 식별자가 없는 경우 부모 창의 식별자를 상속합니다. 마찬가지로 소유 창에 도움말 컨텍스트 식별자가 없는 경우 소유자 창의 식별자를 상속합니다. 이러한 도움말 컨텍스트 식별자의 상속을 통해 애플리케이션은 대화 상자와 모든 컨트롤에 대해 하나의 식별자만 설정할 수 있습니다.

예시

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// Associate a help context id with the control.
// IDC_TESTHELP_CONTROL is the id of the control
// and HIDC_TESTHELP_CONTROL is its help context
// id associated with the control.
CWnd *pWnd = GetDlgItem(IDC_TESTHELP_CONTROL);
pWnd->SetWindowContextHelpId(HIDC_TESTHELP_CONTROL);

CWnd::SetWindowPlacement

창의 표시 상태와 일반(복원됨), 최소화 및 최대화 위치를 설정합니다.

BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);

매개 변수

lpwndpl
WINDOWPLACEMENT 새 표시 상태 및 위치를 지정하는 구조를 가리킵니다.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

CWnd::SetWindowPos

자식, 팝업 및 최상위 창의 크기, 위치 및 Z 순서를 변경합니다.

BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

매개 변수

pWndInsertAfter
Z 순서로 CWndCWnd 개체 앞에 올 개체(보다 높음)를 식별합니다. 이 매개 변수는 다음 값 중 하나에 대한 CWnd 포인터 또는 포인터일 수 있습니다.

  • wndBottom Z 순서의 맨 아래에 창을 배치합니다. 맨 CWnd 위 창이면 창의 맨 위 상태 손실됩니다. 시스템은 창을 다른 모든 창의 맨 아래에 배치합니다.

  • wndTop 창을 Z 순서의 맨 위에 놓습니다.

  • wndTopMost 맨 위가 아닌 모든 창 위에 창을 배치합니다. 창은 기본 비활성화된 경우에도 맨 위 위치를 지정합니다.

  • wndNoTopMost 창의 위치를 맨 위가 아닌 모든 창(즉, 맨 위 창 뒤)의 맨 위로 변경합니다. 창이 이미 맨 위가 아닌 창인 경우에는 이 플래그가 적용되지 않습니다.

이 매개 변수를 사용하는 방법에 대한 규칙은 이 항목의 "주의" 섹션을 참조하세요.

x
창 왼쪽의 새 위치를 지정합니다.

y
창 위쪽의 새 위치를 지정합니다.

cx
창의 새 너비를 지정합니다.

cy
창의 새 높이를 지정합니다.

nFlags
크기 조정 및 위치 지정 옵션을 지정합니다. 이 매개 변수는 다음 플래그의 조합일 수 있습니다.

  • SWP_DRAWFRAME 창 주위에 프레임(창이 생성되었을 때 정의됨)을 그립니다.

  • SWP_FRAMECHANGEDWM_NCCALCSIZE 창의 크기가 변경되지 않더라도 창에 메시지를 보냅니다. 이 플래그를 WM_NCCALCSIZE 지정하지 않으면 창의 크기가 변경될 때만 전송됩니다.

  • SWP_HIDEWINDOW 창을 숨깁니다.

  • SWP_NOACTIVATE 창을 활성화하지 않습니다. 이 플래그를 설정하지 않으면 창이 활성화되고 맨 위 또는 맨 위가 아닌 그룹의 맨 위로 이동합니다(매개 변수 설정 pWndInsertAfter 에 따라 다름).

  • SWP_NOCOPYBITS클라이언트 영역의 전체 콘텐츠를 카드. 이 플래그를 지정하지 않으면 창 크기가 조정되거나 위치가 변경된 후 클라이언트 영역의 유효한 내용이 저장되고 클라이언트 영역으로 다시 복사됩니다.

  • SWP_NOMOVE현재 위치(및 y 매개 변수 무시)를 x 유지합니다.

  • SWP_NOOWNERZORDER Z 순서에서 소유자 창의 위치를 변경하지 않습니다.

  • SWP_NOREDRAW 변경 내용을 다시 그리지 않습니다. 이 플래그를 설정하면 어떤 종류의 다시 그리기도 발생하지 않습니다. 이는 클라이언트 영역, 비클라이언트 영역(제목 및 스크롤 막대 포함) 및 이동된 창의 결과로 발견된 부모 창의 모든 부분에 적용됩니다. 이 플래그가 설정되면 애플리케이션은 창 및 부모 창의 일부를 다시 그려야 하는 부분을 명시적으로 무효화하거나 다시 그려야 합니다.

  • SWP_NOREPOSITION 와 동일합니다 SWP_NOOWNERZORDER.

  • SWP_NOSENDCHANGING 창에서 메시지를 받지 못하도록 합니다 WM_WINDOWPOSCHANGING .

  • SWP_NOSIZE현재 크기(및 cy 매개 변수 무시)를 cx 유지합니다.

  • SWP_NOZORDER 현재 순서를 유지합니다(무시 pWndInsertAfter).

  • SWP_SHOWWINDOW 창을 표시합니다.

Return Value

함수가 성공하면 0이 아닌 경우 그렇지 않으면 0입니다.

설명

Windows는 Z 순서에 따라 화면에서 정렬됩니다. Z 순서의 맨 위에 있는 창이 다른 모든 창 위에 순서대로 표시됩니다.

자식 창의 모든 좌표는 클라이언트 좌표입니다(부모 창 클라이언트 영역의 왼쪽 위 모서리를 기준으로).

매개 변수 &wndTopMost 를 설정하고 플래그가 설정 pWndInsertAfter 되지 않도록 SWP_NOZORDER 하거나 창의 Z 순서를 설정하여 기존 맨 위 창 위에 있도록 창을 Z 순서의 맨 위로 이동할 수 있습니다. 맨 위가 아닌 창이 맨 위로 만들어지면 소유 창도 맨 위로 만들어집니다. 소유자는 변경되지 않습니다.

맨 위 창은 Z 순서의 아래쪽(&wndBottom)으로 위치가 변경되거나 맨 위가 아닌 창 뒤의 위치가 더 이상 맨 위에 있지 않습니다. 맨 위 창이 맨 위가 아닌 창으로 만들어지면 모든 소유자와 소유 창도 맨 위가 아닌 창으로 만들어집니다.

지정하거나 지정하지 SWP_NOACTIVATESWP_NOZORDER 않은 경우(즉, 애플리케이션에서 창을 동시에 활성화하고 지정된 Z 순서로 배치하도록 요청할 때) 지정된 pWndInsertAfter 값은 다음과 같은 경우에만 사용됩니다.

  • &wndTopMost 매개 변수에 지정되지 pWndInsertAfter 도 않습니다&wndNoTopMost.

  • 이 창은 활성 창이 아닙니다.

애플리케이션은 비활성 창을 Z 순서의 맨 위로 가져오지 않고는 활성화할 수 없습니다. 애플리케이션은 제한 없이 활성화된 창의 Z 순서를 변경할 수 있습니다.

맨 위가 아닌 창은 맨 위 창을 소유할 수 있지만 그 반대의 경우도 마찬가지입니다. 맨 위 창이 소유한 모든 창(예: 대화 상자)은 자체에서 모든 소유 창이 소유자보다 높은 상태로 유지되도록 맨 위 창으로 만들어집니다.

Windows 버전 3.1 이상에서는 창을 Z 순서의 맨 위로 이동하고 스타일을 설정 WS_EX_TOPMOST 하여 잠글 수 있습니다. 이러한 맨 위 창은 비활성화된 경우에도 맨 위 위치를 기본. 예를 들어 WinHelp Always On Top 명령을 선택하면 도움말 창이 맨 위에 표시되고 애플리케이션으로 돌아갈 때 다시 기본 표시됩니다.

맨 위 창을 만들려면 매개 변수를 pWndInsertAfter 같게 &wndTopMost호출 SetWindowPos 하거나 창을 만들 때 스타일을 설정합니다WS_EX_TOPMOST.

Z 순서에 스타일이 있는 WS_EX_TOPMOST 창이 포함된 경우 값으로 &wndTopMost 이동된 창은 맨 위가 아닌 모든 창의 맨 위에 배치되지만 맨 위 창 아래에 배치됩니다. 애플리케이션이 비트 없이 WS_EX_TOPMOST 비활성 창을 활성화하면 창이 맨 위가 아닌 모든 창 위로 이동되지만 맨 위 창 아래로 이동합니다.

SetWindowPos 매개 변수가 &wndBottomCWnd 맨 위 창일 때 pWndInsertAfter 호출되면 창의 맨 위 상태 손실되고(지워집니다)WS_EX_TOPMOST 시스템에서 창을 Z 순서의 맨 아래에 배치합니다.

예시

void CMyApp::OnHideApplication()
{
   //m_pMainWnd is the main application window, a member of CMyApp
   ASSERT_VALID(m_pMainWnd);

   // hide the application's windows before closing all the documents
   m_pMainWnd->ShowWindow(SW_HIDE);
   m_pMainWnd->ShowOwnedPopups(FALSE);

   // put the window at the bottom of z-order, so it isn't activated
   m_pMainWnd->SetWindowPos(&CWnd::wndBottom, 0, 0, 0, 0,
                            SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}

CWnd::SetWindowRgn

이 멤버 함수를 호출하여 창의 지역을 설정합니다.

int SetWindowRgn(
    HRGN hRgn,
    BOOL bRedraw);

매개 변수

hRgn
지역에 대한 핸들입니다.

bRedraw
운영 체제에서 지역을 설정한 후 창을 다시 그리는 경우 TRUE그렇지 않으면 그렇지 않습니다. 일반적으로 창이 표시되는 경우로 TRUE 설정합니다bRedraw. 설정 TRUE하면 시스템에서 창에 WM_WINDOWPOSCHANGING 메시지와 WM_WINDOWPOSCHANGED 메시지를 보냅니다.

Return Value

함수가 성공하면 반환 값이 0이 아닙니다. 함수가 실패하면 반환 값은 0입니다.

설명

창 창 영역의 좌표는 창의 클라이언트 영역이 아니라 창의 왼쪽 위 모서리를 기준으로 합니다.

성공적으로 호출한 SetWindowRgn후 운영 체제는 지역 핸들에 지정된 지역을 소유합니다 hRgn. 운영 체제는 지역의 복사본을 만들지 않으므로 이 지역 핸들을 사용하여 추가 함수 호출을 수행하지 않고 이 지역 핸들을 닫지 마세요.

CWnd::SetWindowText

창의 제목을 지정된 텍스트로 설정합니다.

void SetWindowText(LPCTSTR lpszString);

매개 변수

lpszString
CString 새 제목 또는 컨트롤 텍스트로 사용할 개체 또는 null로 끝나는 문자열을 가리킵니다.

설명

창이 컨트롤이면 컨트롤 내의 텍스트가 설정됩니다.

이 함수를 WM_SETTEXT 사용하면 메시지가 이 창으로 전송됩니다.

예시

// set the text in IDC_EDITNAME
CWnd *pWnd = GetDlgItem(IDC_EDITNAME);
pWnd->SetWindowText(_T("Gerald Samper"));

// Get the text back. CString is convenient, because MFC
// will automatically allocate enough memory to hold the
// text--no matter how large it is.

CString str;
pWnd->GetWindowText(str);
ASSERT(str == _T("Gerald Samper"));

// The LPTSTR override works, too, but it might be too short.
// If we supply a buffer that's too small, we'll only get those
// characters that fit.

TCHAR sz[10];
int nRet = pWnd->GetWindowText(sz, 10);

// Nine characters, plus terminating null
ASSERT(_tcscmp(sz, _T("Gerald Sa")) == 0);
ASSERT(nRet == 9);

// You can query the length of the text without the length of
// the string using CWnd::GetWindowTextLength()
nRet = pWnd->GetWindowTextLength();
ASSERT(nRet == 13);

CWnd::ShowCaret

캐리트의 현재 위치에 있는 화면에 캐리트를 표시합니다.

void ShowCaret();

설명

표시되면 캐럿이 자동으로 깜박이기 시작합니다.

멤버 함수는 ShowCaret 현재 셰이프가 있고 연속적으로 두 번 이상 숨겨지지 않은 경우에만 캐리트를 표시합니다. 이 창에서 caret를 소유하지 않으면 캐리트가 표시되지 않습니다.

캐리트를 숨기는 것은 누적됩니다. 멤버 함수가 HideCaret 연속적으로 ShowCaret 5번 호출된 경우 5번 호출하여 캐리트를 표시해야 합니다.

케어는 공유 리소스입니다. 입력 포커스가 있거나 활성 상태인 경우에만 창에 캐리트가 표시됩니다.

예시

에 대한 예제를 CWnd::CreateCaret참조하세요.

CWnd::ShowOwnedPopups

이 창이 소유한 모든 팝업 창을 표시하거나 숨깁니다.

void ShowOwnedPopups(BOOL bShow = TRUE);

매개 변수

bShow
팝업 창을 표시할지 숨길지 여부를 지정합니다. 이 매개 변수인 TRUE경우 숨겨진 모든 팝업 창이 표시됩니다. 이 매개 변수인 FALSE경우 표시되는 모든 팝업 창이 숨겨집니다.

예시

에 대한 예제를 CWnd::SetWindowPos참조하세요.

CWnd::ShowScrollBar

스크롤 막대를 표시하거나 숨깁니다.

void ShowScrollBar(
    UINT nBar,
    BOOL bShow = TRUE);

매개 변수

nBar
스크롤 막대가 컨트롤인지 아니면 창의 비클라이언트 영역의 일부인지를 지정합니다. 비클라이언트 영역의 일부인 경우 스크롤 막대가 가로, nBar 세로 또는 둘 다에 배치되는지 여부도 나타냅니다. 다음 중 하나여야 합니다.

  • SB_BOTH 창의 가로 및 세로 스크롤 막대를 지정합니다.

  • SB_HORZ 창이 가로 스크롤 막대임을 지정합니다.

  • SB_VERT 창이 세로 스크롤 막대임을 지정합니다.

bShow
Windows에서 스크롤 막대를 표시하거나 숨길지 여부를 지정합니다. 이 매개 변수인 TRUE경우 스크롤 막대가 표시되고, 그렇지 않으면 스크롤 막대가 숨겨집니다.

설명

애플리케이션은 스크롤 막대 알림 메시지를 처리하는 동안 스크롤 막대를 숨기도록 호출 ShowScrollBar 해서는 안 됩니다.

CWnd::ShowWindow

창의 표시 상태를 설정합니다.

BOOL ShowWindow(int nCmdShow);

매개 변수

nCmdShow
표시할 방법을 CWnd 지정합니다. 다음 값 중 하나여야 합니다.

  • SW_HIDE 이 창을 숨기고 활성화를 다른 창으로 전달합니다.

  • SW_MINIMIZE 창을 최소화하고 시스템 목록에서 최상위 창을 활성화합니다.

  • SW_RESTORE 창을 활성화하고 표시합니다. 창이 최소화되거나 최대화되면 Windows는 창을 원래 크기와 위치로 복원합니다.

  • SW_SHOW 창을 활성화하고 현재 크기와 위치에 표시합니다.

  • SW_SHOWMAXIMIZED 창을 활성화하고 최대화된 창으로 표시합니다.

  • SW_SHOWMINIMIZED 창을 활성화하고 아이콘으로 표시합니다.

  • SW_SHOWMINNOACTIVE 창을 아이콘으로 표시합니다. 현재 활성 상태인 창이 다시 활성화된 기본.

  • SW_SHOWNA 창을 현재 상태로 표시합니다. 현재 활성 상태인 창이 다시 활성화된 기본.

  • SW_SHOWNOACTIVATE 창의 가장 최근 크기와 위치를 표시합니다. 현재 활성 상태인 창이 다시 활성화된 기본.

  • SW_SHOWNORMAL 창을 활성화하고 표시합니다. 창이 최소화되거나 최대화되면 Windows는 창을 원래 크기와 위치로 복원합니다.

Return Value

창이 이전에 표시되었으면 0이 아닌 경우 이전에 숨겨졌 CWnd 으면 0입니다.

설명

ShowWindow는 기본 창CWinApp::m_nCmdShow에 대해 애플리케이션당 한 번만 호출해야 합니다. 이후 호출에서는 ShowWindow 위에서 지정 CWinApp::m_nCmdShow한 값 대신 위에 나열된 값 중 하나를 사용해야 합니다.

예시

에 대한 예제를 CWnd::CalcWindowRect참조하세요.

CWnd::SubclassDlgItem

이 멤버 함수를 호출하여 대화 상자 템플릿에서 만든 컨트롤을 "동적으로 서브클래스"하고 이 CWnd 개체에 연결합니다.

BOOL SubclassDlgItem(
    UINT nID,
    CWnd* pParent);

매개 변수

nID
컨트롤의 ID입니다.

pParent
컨트롤의 부모(일반적으로 대화 상자)입니다.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

컨트롤이 동적으로 서브클래스되는 경우 Windows 메시지는 '의 메시지 맵을 통해 CWnd라우팅되고 '의 클래스에서 메시지 처리기를 먼저 호출합니다 CWnd. 기본 클래스에 전달되는 메시지는 컨트롤의 기본 메시지 처리기에 전달됩니다.

이 멤버 함수는 Windows 컨트롤을 개체에 CWnd 연결하고 컨트롤 WndProcAfxWndProc 함수를 대체합니다. 함수는 멤버 함수에서 반환된 위치에 이전 WndProc 을 저장합니다 GetSuperWndProcAddr .

예시

// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.

// IDC_BUTTON1 is the ID for a button on the
// dialog template used for CMyDlg.
m_MyButton.SubclassDlgItem(IDC_BUTTON1, this);

CWnd::SubclassWindow

이 멤버 함수를 호출하여 창을 "동적으로 서브클래스"하고 이 CWnd 개체에 연결합니다.

BOOL SubclassWindow(HWND hWnd);

매개 변수

hWnd
창에 대한 핸들입니다.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

창이 동적으로 서브클래스되는 경우 Windows 메시지는 '의 메시지 맵을 통해 CWnd라우팅되고 ' 클래스의 CWnd메시지 처리기를 먼저 호출합니다. 기본 클래스에 전달되는 메시지는 창의 기본 메시지 처리기에 전달됩니다.

이 멤버 함수는 Windows 컨트롤을 개체에 CWnd 연결하고 창 WndProcAfxWndProc 함수를 대체합니다. 함수는 개체의 이전 WndProc 항목에 대한 포인터를 CWnd 저장합니다.

참고 항목

이 함수가 호출될 때 창을 MFC 개체에 연결하지 않아야 합니다.

예시

// The following code shows how to subclass the edit control and list box
// controls inside a combo box. It uses WM_CTLCOLOR for subclassing.
// CSuperComboBox represents the combo box
HBRUSH CSuperComboBox::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
   if (nCtlColor == CTLCOLOR_EDIT)
   {
      //Edit control
      if (m_edit.GetSafeHwnd() == NULL)
         m_edit.SubclassWindow(pWnd->GetSafeHwnd());
   }
   else if (nCtlColor == CTLCOLOR_LISTBOX)
   {
      //ListBox control
      if (m_listbox.GetSafeHwnd() == NULL)
         m_listbox.SubclassWindow(pWnd->GetSafeHwnd());
   }

   HBRUSH hbr = CComboBox::OnCtlColor(pDC, pWnd, nCtlColor);
   return hbr;
}

void CSuperComboBox::OnDestroy()
{
   //unsubclass edit and list box before destruction
   if (m_edit.GetSafeHwnd() != NULL)
      m_edit.UnsubclassWindow();
   if (m_listbox.GetSafeHwnd() != NULL)
      m_listbox.UnsubclassWindow();
   CComboBox::OnDestroy();
}

CWnd::UnlockWindowUpdate

이 멤버 함수를 호출하여 잠근 창의 잠금을 해제합니다 CWnd::LockWindowUpdate.

void UnlockWindowUpdate();

설명

를 사용하여 LockWindowUpdate한 번에 하나의 창만 잠글 수 있습니다. 잠금 창에 대한 자세한 내용은 Win32 함수 LockWindowUpdate 를 참조 CWnd::LockWindowUpdate 하거나 참조하세요.

CWnd::UnsubclassWindow

이 멤버 함수를 호출하여 원래 값으로 다시 설정하고 WndProc 개체에서 CWnd HWND로 식별되는 창을 분리합니다.

HWND UnsubclassWindow();

Return Value

서브클래스되지 않은 창에 대한 핸들입니다.

예시

에 대한 예제를 CWnd::SubclassWindow참조하세요.

CWnd::UpdateData

이 멤버 함수를 호출하여 대화 상자에서 데이터를 초기화하거나 대화 상자 데이터를 검색하고 유효성을 검사합니다.

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

매개 변수

bSaveAndValidate
대화 상자가 초기화되고 있는지() 또는 데이터를 검색하고 있는지(FALSETRUE)를 나타내는 플래그입니다.

Return Value

작업이 성공하면 0이 아닌 경우 그렇지 않으면 0입니다. 이 TRUE경우 bSaveAndValidate 0이 아닌 반환 값은 데이터의 유효성을 성공적으로 검사했음을 의미합니다.

설명

프레임워크는 기본 구현CDialog::OnInitDialog에서 bSaveAndValidate 모달 대화 상자가 만들어질 때 설정된 FALSE 상태로 자동으로 호출 UpdateData 됩니다. 대화 상자가 표시되기 전에 호출이 발생합니다. 데이터를 검색하도록 설정된 이 멤버 함수 bSaveAndValidateTRUE 호출하는 기본 구현 CDialog::OnOK 이며, 성공하면 대화 상자가 닫힙니다. 대화 상자에서 취소 단추를 클릭하면 데이터를 검색하지 않고 대화 상자가 닫힙니다.

CWnd::UpdateDialogControls

이 멤버 함수를 호출하여 콜백 메커니즘을 사용하는 대화 상자 또는 창에서 대화 상자 단추 및 기타 컨트롤의 ON_UPDATE_COMMAND_UI 상태를 업데이트합니다.

void UpdateDialogControls(
    CCmdTarget* pTarget,
    BOOL bDisableIfNoHndler);

매개 변수

pTarget
애플리케이션의 기본 프레임 창을 가리키며 업데이트 메시지를 라우팅하는 데 사용됩니다.

bDisableIfNoHndler
업데이트 처리기가 없는 컨트롤이 비활성화된 것으로 자동으로 표시되어야 하는지 여부를 나타내는 플래그입니다.

설명

자식 컨트롤에 처리기가 bDisableIfNoHndlerTRUE없는 경우 자식 컨트롤이 비활성화됩니다.

프레임워크는 애플리케이션의 유휴 처리의 일부로 대화 상자 모음 또는 도구 모음의 컨트롤에 대해 이 멤버 함수를 호출합니다.

CWnd::UpdateLayeredWindow

계층적 창의 위치, 크기, 모양, 내용 및 투명도를 업데이트합니다.

BOOL UpdateLayeredWindow(
    CDC* pDCDst,
    POINT* pptDst,
    SIZE* psize,
    CDC* pDCSrc,
    POINT* pptSrc,
    COLORREF crKey,
    BLENDFUNCTION* pblend,
    DWORD dwFlags);

매개 변수

pDCDst
화면의 디바이스 컨텍스트에 대한 포인터입니다. 창 내용이 업데이트되는 경우 색상표 색 일치에 사용됩니다. 이 NULL경우 pDCDst 기본 색상표가 사용됩니다.

NULLpDCDstpDCSrc 여야 합니다NULL.

pptDst
계층화된 창의 POINT 새 화면 위치를 지정하는 구조체에 대한 포인터입니다. 현재 위치가 변경되지 pptDstNULL않는 경우 .

psize
SIZE 계층화된 창의 새 크기를 지정하는 구조체에 대한 포인터입니다. 창의 크기가 변경되지 psize 않는 경우 다음을 수행할 NULL수 있습니다.

NULLpsizepDCSrc 여야 합니다NULL.

pDCSrc
계층화된 창을 정의하는 표면의 DC에 대한 포인터입니다. 창의 모양과 시각적 컨텍스트가 변경되지 pDCSrcNULL않는 경우 .

pptSrc
디바이스 컨텍스트에서 POINT 계층의 위치를 지정하는 구조체에 대한 포인터입니다.

NULLpptSrcpDCSrc 여야 NULL합니다.

crKey
계층화된 창을 작성할 COLORREF 때 사용할 투명도 색 키를 지정하는 값에 대한 포인터입니다. 이 색의 창에서 그린 모든 픽셀은 투명합니다. 생성 COLORREF하려면 RGB 매크로를 사용합니다.

pblend
계층화된 창을 작성할 BLENDFUNCTION 때 사용할 투명도 값을 지정하는 구조체에 대한 포인터입니다.

dwFlags
수행할 작업을 지정합니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다. 가능한 값 목록은 다음을 참조하세요 UpdateLayeredWindow.

Return Value

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 함수 UpdateLayeredWindow의 기능을 에뮬레이트합니다.

CWnd::UpdateWindow

업데이트 지역이 비어 있지 않은 경우 메시지를 보내 WM_PAINT 클라이언트 영역을 업데이트.

void UpdateWindow();

설명

멤버 함수는 UpdateWindow 애플리케이션 큐를 WM_PAINT 우회하여 메시지를 직접 보냅니다. 업데이트 지역이 비어 WM_PAINT 있으면 전송되지 않습니다.

예시

// In this example a rectangle is drawn in a view.
// The OnChangeRect() function changes the dimensions
// of the rectangle and then calls CWnd::Invalidate() so the
// client area of the view will be redrawn next time the
// window is updated.  It then calls CWnd::UpdateWindow
// to force the new rectangle to be painted.

void CMdiView::OnChangeRect()
{
   // Change Rectangle size.
   m_rcBox = CRect(20, 20, 210, 210);

   // Invalidate window so entire client area
   // is redrawn when UpdateWindow is called.
   Invalidate();

   // Update Window to cause View to redraw.
   UpdateWindow();
}

// On Draw function draws the rectangle.
void CMdiView::OnDraw(CDC *pDC)
{
   // Other draw code here.

   pDC->Draw3dRect(m_rcBox, 0x00FF0000, 0x0000FF00);
}

CWnd::ValidateRect

창의 업데이트 영역에서 사각형을 제거하여 지정된 사각형 내의 클라이언트 영역의 유효성을 검사합니다.

void ValidateRect(LPCRECT lpRect);

매개 변수

lpRect
CRect 업데이트 영역에서 제거할 사각형의 클라이언트 좌표를 포함하는 개체 또는 RECT 구조를 가리킵니다. 이 NULL경우 lpRect 전체 창의 유효성이 검사됩니다.

설명

멤버 함수는 BeginPaint 전체 클라이언트 영역의 유효성을 자동으로 검사합니다. ValidateRect 다음에 생성되기 전에 WM_PAINT 업데이트 영역의 일부의 유효성을 검사해야 하는 경우 멤버 함수도 ValidateRgn 호출하지 않아야 합니다.

Windows는 현재 업데이트 지역의 유효성을 검사할 때까지 메시지를 계속 생성 WM_PAINT 합니다.

CWnd::ValidateRgn

창의 현재 업데이트 영역에서 지역을 제거하여 지정된 지역 내의 클라이언트 영역의 유효성을 검사합니다.

void ValidateRgn(CRgn* pRgn);

매개 변수

pRgn
업데이트 지역에서 제거할 영역을 정의하는 영역을 식별하는 개체에 대한 포인터 CRgn 입니다. 이 매개 변수인 NULL경우 전체 클라이언트 영역이 제거됩니다.

설명

지정된 지역은 이전에 지역 함수에 의해 만들어졌어야 합니다. 영역 좌표는 클라이언트 좌표로 간주됩니다.

멤버 함수는 BeginPaint 전체 클라이언트 영역의 유효성을 자동으로 검사합니다. ValidateRect 다음 WM_PAINT 메시지가 생성되기 전에 업데이트 영역의 일부의 유효성을 검사해야 하는 경우 멤버 함수도 ValidateRgn 호출하지 않아야 합니다.

CWnd::WindowFromPoint

지정된 점을 포함하는 창을 검색합니다. point 는 화면에서 점의 화면 좌표를 지정해야 합니다.

static CWnd* PASCAL WindowFromPoint(POINT point);

매개 변수

point
검사 지점을 정의하는 개체 또는 POINT 데이터 구조를 지정 CPoint 합니다.

Return Value

점이 있는 창 개체에 대한 포인터입니다. 지정된 지점에 창이 없는 경우입니다 NULL . 반환된 포인터는 일시적일 수 있으며 나중에 사용하기 위해 저장해서는 안 됩니다.

설명

WindowFromPoint 는 지점이 창 내에 있더라도 숨겨진 창이나 비활성화된 창을 검색하지 않습니다. 애플리케이션은 비연단 검색에 멤버 함수를 사용해야 ChildWindowFromPoint 합니다.

CWnd::WindowProc

개체에 대한 Windows 프로시저(WindowProc)를 CWnd 제공합니다.

virtual LRESULT WindowProc(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

매개 변수

message
처리할 Windows 메시지를 지정합니다.

wParam
메시지 처리에 사용되는 추가 정보를 제공합니다. 매개 변수 값은 메시지에 따라 달라집니다.

lParam
메시지 처리에 사용되는 추가 정보를 제공합니다. 매개 변수 값은 메시지에 따라 달라집니다.

Return Value

반환 값은 메시지에 따라 달라집니다.

설명

창의 메시지 맵을 통해 메시지를 디스패치합니다.

CWnd::WinHelp

WinHelp 애플리케이션을 시작하기 위해 호출됩니다.

virtual void WinHelp(
    DWORD_PTR dwData,
    UINT nCmd = HELP_CONTEXT);

매개 변수

dwData
추가 데이터를 지정합니다. 사용되는 값은 매개 변수의 nCmd 값에 따라 달라집니다.

nCmd
요청한 도움말의 형식을 지정합니다. 가능한 값 목록 및 매개 변수에 dwData 미치는 영향은 Windows SDK의 WinHelp Windows 함수를 참조하세요.

설명

자세한 내용은 CWinApp::WinHelp 을 참조하세요.

CWnd::RegisterTouchWindow

Windows 터치 지원을 등록하거나 등록 취소합니다.

BOOL RegisterTouchWindow(
    BOOL bRegister = TRUE,
    ULONG ulFlags = 0);

매개 변수

bRegister
TRUE 은 Windows 터치 지원 등록을 나타냅니다. FALSE 그렇지 않으면.

ulFlags
선택적 수정을 지정하는 비트 플래그 집합입니다. 이 필드에는 0 또는 다음 값 TWF_FINETOUCHTWF_WANTPALM중 하나가 포함될 수 있습니다.

Return Value

성공하면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

CWnd::ResizeDynamicLayout

창에 대해 동적 레이아웃을 사용하도록 설정한 경우 창 크기가 변경되면 자식 창의 레이아웃을 조정하기 위해 프레임워크에서 호출됩니다.

virtual void ResizeDynamicLayout();

설명

참고 항목

CCmdTarget 클래스
계층 구조 차트
CFrameWnd 클래스
CView 클래스