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_FINDER 및 ID_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 |
TranslateMessage 및 DispatchMessage 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 |
이 창에서 현재 처리 중인 메시지에 대한 포인터를 반환합니다. 메시지 처리기 멤버 함수에서 On Message 만 호출해야 합니다. |
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 |
커서가 창의 클라이언트가 아닌 영역에 있는 동안 사용자가 마우스를 누르거나 XBUTTON2 누 XBUTTON1 를 때 호출됩니다. |
CWnd::OnNcXButtonUp |
커서가 창의 클라이언트가 아닌 영역에 있는 동안 사용자가 마우스를 놓 XBUTTON1 을 XBUTTON2 때 호출됩니다. |
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
: , CMDIChildWnd
CMDIFrameWnd
CView
및CDialog
)는 추가 파생을 위해 설계되었습니다. 파생된 CWnd
컨트롤 클래스(예: CButton
)는 직접 사용하거나 클래스의 추가 파생에 사용할 수 있습니다.
사용에 CWnd
대한 자세한 내용은 Windows 개체를 참조 Frame Windows
하세요.
상속 계층 구조
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 클라이언트 창을 사용하고 Attach
Detach
매핑하는 방법을 보여줍니다.
// 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
됩니다.
업데이트 영역은 클라이언트 영역에 영향을 주는 다른 작업을 크기 조정, 이동, 만들기, 스크롤 또는 수행한 후 시스템에서 또는 InvalidateRect
InvalidateRgn
멤버 함수 및 시스템에 의해 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
형식 라이브러리에 표시된 대로 호출 개체의 기본 단순 바인딩 속성(예: 편집 컨트롤)을 데이터 소스 컨트롤의 , UserName
Password
및 SQL
속성에 정의된 기본 커서에 DataSource
바인딩합니다.
void BindDefaultProperty(
DISPID dwDispID,
VARTYPE vtProp,
LPCTSTR szFieldName,
CWnd* pDSCWnd);
매개 변수
dwDispID
데이터 소스 컨트롤에 바인딩할 데이터 바인딩된 컨트롤의 속성을 지정 DISPID
합니다.
vtProp
바인딩할 속성의 형식을 지정합니다. 예를 들어 , VT_BSTR
VT_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
구조체 또는 CPoint
CRect
개체의 클라이언트 좌표를 사용하거나 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
포함된 경우 해당 매개 변수 this
의 CREATESTRUCT
멤버를 포인터에 할당합니다WS_CHILD
.NULL
적절한 기능을 위해 대화 상자 컨트롤에 없는 NULL
ID가 있는지 확인합니다.
이 변경으로 인해 관리/네이티브 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
데이터를 데이터 pPersist
로 IStorage
IStream
해석해야 하는지 여부를 나타냅니다. 데이터가 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
포함된 경우 해당 매개 변수 this
의 CREATESTRUCT
멤버를 포인터에 할당합니다WS_CHILD
.NULL
적절한 기능을 위해 대화 상자 컨트롤에 없는 NULL
ID가 있는지 확인합니다.
이 변경으로 인해 관리/네이티브 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이면 높이가 시스템 정의 창 테두리 높이로 설정됩니다.
설명
캐럿 셰이프는 선 또는 블록일 수 있습니다.
매개 변수 nWidth
와 nHeight
캐리트의 너비와 높이(논리 단위)를 지정합니다. 정확한 너비와 높이(픽셀 단위)는 매핑 모드에 따라 달라집니다.
Windows 함수에서 인덱스와 함께 시스템의 창 테두리 너비 또는 높이를 SM_CXBORDER
SM_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이면 높이가 시스템 정의 창 테두리 높이로 설정됩니다.
설명
캐럿 셰이프는 선 또는 블록일 수 있습니다.
매개 변수 nWidth
와 nHeight
캐리트의 너비와 높이(논리 단위)를 지정합니다. 정확한 너비와 높이(픽셀 단위)는 매핑 모드에 따라 달라집니다.
Windows 함수에서 인덱스와 함께 시스템의 창 테두리 너비 또는 높이를 SM_CXBORDER
SM_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_DESTROY
WM_NCDESTROY
. 개체를 CWnd
삭제하지 않습니다.
DestroyWindow
는 정리를 수행하기 위한 자리 표시자입니다. DestroyWindow
가상 함수이므로 클래스 뷰의 파생 CWnd
클래스에 표시됩니다. 그러나 파생 클래스 DestroyWindow
에서 CWnd
이 함수를 재정의하더라도 반드시 호출되는 것은 아닙니다. MFC 코드에서 호출되지 않은 경우 DestroyWindow
호출하려면 사용자 고유의 코드에서 명시적으로 호출해야 합니다.
예를 들어 파생 클래스에서 재정 DestroyWindow
의 CView
했다고 가정합니다. MFC 소스 코드는 파생 클래스에서 호출 DestroyWindow
되지 않으므로 명시적으로 호출하지 않는 한 재정 DestroyWindow
의CFrameWnd
된 코드가 호출되지 않습니다.
창이 모든 창의 부모인 경우 부모 창이 제거되면 이러한 자식 창이 자동으로 제거됩니다. 멤버 함수는 DestroyWindow
자식 창을 먼저 삭제한 다음 창 자체를 삭제합니다.
멤버 함수는 DestroyWindow
.에서 만든 CDialog::Create
모덜리스 대화 상자도 삭제합니다.
CWnd
제거되는 창이 자식 창이고 스타일 집합 WM_PARENTNOTIFY
이 WS_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_POSTMSGS
LB_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
하나 이상의 와일드카드를 포함해야 하는 유효한 파일 이름입니다. 와일드카드는 물음표(?)로, 임의의 문자와 일치하고 별표(*)는 임의의 문자 수와 일치한다는 의미입니다.
길이가 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_POSTMSGS
CB_DIR
기. 플래그가CB_DIR
설정되면 Windows는 애플리케이션의 큐에 생성된DlgDirListComboBox
메시지를 배치합니다. 그렇지 않으면 대화 상자 프로시저로 직접 전송됩니다.DDL_DRIVES
드라이브. 플래그가DDL_DRIVES
설정되면 플래그가DDL_EXCLUSIVE
자동으로 설정됩니다. 따라서 드라이브 및 파일을 포함하는 디렉터리 목록을 만들려면 플래그가 설정된 상태에서 한 번, 목록의 나머지 부분에 대한 플래그를DDL_DRIVES
사용하여 두 번 호출DlgDirListComboBox
해야 합니다.DDL_EXCLUSIVE
배타적 비트입니다. 배타적 비트가 설정되면 지정된 형식의 파일만 나열됩니다. 그렇지 않으면 지정된 형식의 일반 파일과 파일이 나열됩니다.
Return Value
함수의 결과를 지정합니다. 목록이 만들어지면 0이 아니고 빈 목록도 됩니다. 0 반환 값은 입력 문자열에 유효한 검색 경로가 없음을 의미합니다.
설명
DlgDirListComboBox
콤 CB_RESETCONTENT
CB_DIR
보 상자에 메시지를 보내고 보냅니다. 지정된 콤보 상자 nIDComboBox
의 목록 상자를 지정된 경로 lpPathSpec
와 일치하는 모든 파일의 이름으로 채웁니다.
매개 변수의 lpPathSpec
형식은 다음과 같습니다.
[drive:] [ [\u]directory[\idirectory]...\u] [filename]
이 예제 drive
에서는 드라이브 문자이고 유효한 directory
디렉터리 이름이며 filename
하나 이상의 와일드카드를 포함해야 하는 유효한 파일 이름입니다. 와일드카드는 물음표(?)로, 임의의 문자와 일치하고 별표(*)는 임의의 개수의 문자와 일치한다는 의미입니다.
길이가 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
선택 영역을 지정된 버퍼에 복사합니다. 선택 항목이 없으면 버퍼의 내용이 변경되지 않습니다.
DlgDirSelectComboBox
콤 CB_GETCURSEL
CB_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
끌어서 들인 파일이 허용되는지 여부를 나타내는 플래그입니다.
설명
매개 변수가 설정된 상태에서 호출 DragAcceptFiles
bAccept
하는 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 클래스에 해제되지 않은 사용자 인터페이스 요소가 포함되어 있으면 CWnd
MFC는 이에 대해 알 수 있는 방법이 없습니다. 이 경우 클래스에서 적절한 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
도구 팁을 사용하도록 설정하면
설명
창에 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]를 사용하는 MFC 애플리케이션이 .DLL AfxFindResourceHandle
경우 올바른 리소스 핸들을 찾는 공유 및 MFC 확장 DLL의 개체 목록을 트래버스 CDynLinkLibrary
합니다.
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
개체를 가리킵니다. 멤버는 left
top
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::Release
IUnknown::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_PARENTDC
CS_CLASSDC
CS_OWNDC
멤버 함수에 WNDCLASS
의해 GetDC
반환됩니다.
CWnd::GetDCEx
창에 대한 디바이스 컨텍스트의 핸들을 검색합니다 CWnd
.
CDC* GetDCEx(
CRgn* prgnClip,
DWORD flags);
매개 변수
prgnClip
클라이언트 창의 표시되는 영역과 결합될 수 있는 클리핑 영역을 식별합니다.
flags
다음 미리 설정된 값 중 하나를 사용할 수 있습니다.
DCX_CACHE
또는CLASSDC
창이 아닌 캐시에서 디바이스 컨텍스트를OWNDC
반환합니다.CS_OWNDC
및CS_CLASSDC
를 재정의합니다.DCX_CLIPCHILDREN
창 아래에 있는 모든 자식 창의 표시되는 영역을 제외합니다CWnd
.DCX_CLIPSIBLINGS
창 위에 있는 모든 형제 창의 표시되는 영역을 제외합니다CWnd
.DCX_EXCLUDERGN
반환된 디바이스 컨텍스트의 표시되는 영역에서 식별되는prgnClip
클리핑 영역을 제외합니다.DCX_INTERSECTRGN
반환된 디바이스 컨텍스트의 표시되는 영역 내에서 식별되는prgnClip
클리핑 영역을 교차합니다.DCX_LOCKWINDOWUPDATE
이 창을 제외하는 호출이LockWindowUpdate
적용된 경우에도 그리기를 허용합니다. 이 값은 추적 중에 그리기에 사용됩니다.DCX_PARENTCLIP
부모 창의 표시되는 영역을 사용하고 부모 창WS_CLIPCHILDREN
및WS_PARENTDC
스타일 비트를 무시합니다. 이 값은 디바이스 컨텍스트의 원본을 창의 왼쪽 위 모서리로CWnd
설정합니다.DCX_WINDOW
클라이언트 사각형이 아닌 창 사각형에 해당하는 디바이스 컨텍스트를 반환합니다.
Return Value
함수가 성공하면 지정된 창의 디바이스 컨텍스트입니다. 그렇지 않으면 NULL
.
설명
디바이스 컨텍스트는 후속 GDI 함수에서 클라이언트 영역에 그리는 데 사용할 수 있습니다.
함수의 확장 GetDC
인 이 함수는 애플리케이션이 창의 디바이스 컨텍스트가 잘려지는 방법과 여부를 보다 잘릴 수 있도록 합니다.
디바이스 컨텍스트가 창 클래스에 속하지 않는 한 그리 ReleaseDC
기 후 컨텍스트를 해제하기 위해 함수를 호출해야 합니다. 지정된 시간에 5개의 공통 디바이스 컨텍스트만 사용할 수 있으므로 디바이스 컨텍스트를 해제하지 않으면 다른 애플리케이션이 디바이스 컨텍스트에 액세스하지 못할 수 있습니다.
캐시된 디바이스 컨텍스트를 가져오려면 애플리케이션에서 지정 DCX_CACHE
해야 합니다. DCX_CACHE 지정되지 않았고 창도 아니고 이 함수는 CS_OWNDC
CS_CLASSDC
반환합니다 NULL
.
클래스가 등록되었을 때 구조체에 스타일 또는 CS_PARENTDC
스타일을 지정한 경우 CS_CLASSDC
CS_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
반환할 창이 임시일 수 있는지 여부를 지정합니다. 영구 창만 반환할 수 있는 경우 TRUE
FALSE
함수는 임시 창을 반환할 수 있습니다. 임시 창에 대한 자세한 내용은 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이 아닌 값을 받습니다. 이 NULL
GetDlgItemInt
경우 lpTrans
오류에 대해 경고하지 않습니다.
설명
텍스트의 시작 부분에 있는 공백을 제거하고 10진수를 변환하여 지정된 대화 상자에서 지정된 컨트롤의 텍스트를 정수 값으로 변환합니다. 텍스트 끝에 도달하거나 숫자가 아닌 문자를 발견하면 번역을 중지합니다.
이 TRUE
GetDlgItemInt
경우 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
이 멤버 함수를 호출하여 데이터 소스 컨트롤의 , UserName
Password
및 SQL 속성에 의해 DataSource
정의된 기본 커서에 대한 포인터를 검색합니다.
IUnknown* GetDSCCursor();
Return Value
데이터 소스 컨트롤에 의해 정의된 커서에 대한 포인터입니다. MFC는 포인터 호출 AddRef
을 처리합니다.
설명
반환된 포인터를 사용하여 데이터 바인딩된 그리드 컨트롤과 같은 복잡한 데이터 바인딩된 컨트롤의 속성을 설정합니다 ICursor
. 데이터 소스 컨트롤은 첫 번째 바인딩된 컨트롤이 커서를 요청할 때까지 활성화되지 않습니다. 이는 MFC 바인딩 관리자에 GetDSCCursor
대한 호출을 통해 명시적으로 또는 암시적으로 발생할 수 있습니다. 두 경우 모두 반환된 포인터를 호출 GetDSCCursor
Release
하여 데이터 원본 제어가 활성화되도록 할 수 있습니다 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
이면 TRUE
32픽셀 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
그룹의 다음 컨트롤에 대한 포인터를 반환합니다. 그룹의 첫 번째 컨트롤을 식별하고 있는 TRUE
GetNextDlgGroupItem
경우 pWndCtl
그룹의 bPrevious
마지막 컨트롤에 대한 포인터를 반환합니다.
참고 항목
MFC는 창 없는 ActiveX 컨트롤, 표준 ActiveX 컨트롤 및 창을 지원하므로 더 이상 충분하지 않은 컨트롤만 HWND
참조합니다. 개체에는 COleControlSiteOrWnd
다음과 같이 개체를 창이 있는 ActiveX 컨트롤, 창 없는 ActiveX 컨트롤 또는 창으로 식별하는 정보가 포함됩니다.
컨트롤 또는 창 유형 | 정보 식별 |
---|---|
창이 있는 ActiveX 컨트롤 | HWND COleControlSite 개체를 포함하고 COleControlSite 개체와 연결합니다. 멤버 COleControlSiteOrWnd 는 m_hWnd 컨트롤의 HWND 멤버로 설정되고 멤버는 m_pSite 컨트롤을 COleControlSite 가리킵니다. |
창 없는 ActiveX 컨트롤 | 을 포함하지 않습니다 HWND . m_pSite 컨트롤COleControlSite 을 COleControlSiteOrWnd 가리키는 멤버이며 멤버는 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
이 멤버 함수를 호출하여 에 지정된 dwDispID
ActiveX 컨트롤 속성을 가져옵니다.
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
합니다 NULL
CWnd
.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_POS
SIF_TRACKPOS
, 및 SIF_RANGE
.의 SIF_PAGE
조합을 지정합니다. 값에 nMask
대한 자세한 내용은 참조 SCROLLINFO
하세요.
Return Value
메시지가 값을 검색한 경우 반환은 .입니다 TRUE
. 그렇지 않으면 FALSE
입니다.
설명
GetScrollInfo
를 사용하면 애플리케이션에서 32비트 스크롤 위치를 사용할 수 있습니다.
구조체에는 SCROLLINFO
최소 및 최대 스크롤 위치, 페이지 크기 및 스크롤 상자의 위치(엄지 손가락)를 포함하여 스크롤 막대에 대한 정보가 포함됩니다. SCROLLINFO
구조 기본값 변경에 대한 자세한 내용은 Windows SDK의 구조 항목을 참조하세요.
스크롤 막대 위치 CWnd::OnHScroll 및 CWnd::OnVScroll을 나타내는 MFC Windows 메시지 처리기는 16비트 위치 데이터만 제공합니다. GetScrollInfo
SetScrollInfo
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
수행할 작업을 지정합니다. 이 FALSE
GetSystemMenu
경우 bRevert
현재 사용 중인 컨트롤 메뉴의 복사본에 대한 핸들을 반환합니다. 이 복사본은 처음에는 컨트롤 메뉴와 동일하지만 수정할 수 있습니다. 이 TRUE
GetSystemMenu
경우 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
멤버 함수는 NULL
GetUpdateRect
업데이트 영역이 있는 경우 0이 아닌 값을 반환하고, 그렇지 않으면 0을 반환합니다. 이렇게 하면 메시지가 잘못된 영역에서 발생했는지 여부를 WM_PAINT
확인할 수 있습니다. 이 매개 변수를 NULL
Windows 버전 3.0 이전 버전으로 설정하지 마세요.
bErase
업데이트 영역의 배경을 지울지 여부를 지정합니다.
Return Value
업데이트 영역의 상태를 지정합니다. 업데이트 영역이 비어 있지 않으면 값이 0이 아닌 값입니다. 그렇지 않으면 0입니다.
매개 변수가 lpRect
설정된 NULL
경우 업데이트 영역이 있으면 반환 값이 0이 아니고, 그렇지 않으면 0입니다.
설명
스타일을 사용하여 CS_OWNDC
만든 경우 매핑 모드가 아닌 GetUpdateRect
MM_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
멤버 WINDOWPLACEMENT
는 showCmd
.입니다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_UNHILITE
MF_BYCOMMAND
비트 OR
연산자를 사용하여 값을 결합할 수 있습니다. 이러한 값에는 다음과 같은 의미가 있습니다.
MF_BYCOMMAND
메뉴 항목 ID(기본 해석)로 해석됩니다nIDHiliteItem
.MF_BYPOSITION
nIDHiliteItem
메뉴 항목의 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
배경이 지워집니다. 이 경우 bErase
FALSE
배경은 변경되지 않은 상태로 유지됩니다. 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
배경이 지워집니다. 이 경우 bErase
FALSE
배경은 변경되지 않은 상태로 유지됩니다. TRUE
업데이트 영역의 일부인 경우 bErase
지정된 부분뿐만 아니라 전체 지역의 배경이 지워집니다.
Windows는 WM_PAINT
업데이트 지역이 비어 있지 않고 해당 창에 CWnd
대한 애플리케이션 큐에 다른 메시지가 없을 때마다 메시지를 보냅니다.
CWnd::InvalidateRgn
의 현재 업데이트 영역에 추가하여 지정된 지역 내의 CWnd
클라이언트 영역을 무효화합니다.
void InvalidateRgn(
CRgn* pRgn,
BOOL bErase = TRUE);
매개 변수
pRgn
업데이트 지역에 추가할 지역을 식별하는 개체에 대한 포인터 CRgn
입니다. 지역에는 클라이언트 좌표가 있는 것으로 간주됩니다. 이 매개 변수인 NULL
경우 전체 클라이언트 영역이 업데이트 지역에 추가됩니다.
bErase
업데이트 영역 내의 배경을 지울지 여부를 지정합니다.
설명
업데이트 영역의 다른 모든 영역과 함께 무효화된 영역은 메시지가 다음에 전송될 때 WM_PAINT
그리기 위해 표시됩니다. 무효화된 영역은 다음에 메시지를 보낼 때 WM_PAINT
또는 지역 유효성을 검사할 때까지 지역이 처리될 때까지 또는 멤버 함수에 의해 ValidateRect
ValidateRgn
지역 유효성이 검사될 때까지 업데이트 지역에 누적됩니다.
매개 변수는 bErase
업데이트 영역이 처리될 때 업데이트 영역 내의 배경을 지울지 여부를 지정합니다. 이 TRUE
경우 bErase
멤버 함수가 호출될 때 BeginPaint
배경이 지워집니다. 이 경우 bErase
FALSE
배경은 변경되지 않은 상태로 유지됩니다. 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 키는 다음 컨트롤 또는 컨트롤 그룹을 선택하고 아래쪽 화살표 키는 그룹의 다음 컨트롤을 선택합니다.
이미 처리되었으므로 처리된 IsDialogMessage
TranslateMessage
메시지를 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
동적 레이아웃을 사용하도록 설정하면
설명
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
터치 지원이 있으면 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
.
잠긴 창(또는 잠긴 자식 창)이 있는 애플리케이션이 또는 GetDCEx
BeginPaint
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 | 매크로 |
---|---|
MB_ICONHAND , MB_ICONSTOP 및 MB_ICONERROR |
|
MB_ICONQUESTION | |
MB_ICONEXCLAMATION 및 MB_ICONWARNING | |
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
설명된 예제에서).
예시
// 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_PAINT
CWnd
습니다. 이 매개 변수인 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
되고 있음을 의미합니다. FALSE
는 CWnd
비활성화되고 있음을 의미합니다.
dwThreadID
스레드 ID의 값을 지정합니다. 이 TRUE
dwThreadID
경우 bActive
비활성화되는 스레드를 CWnd
식별합니다. 이 FALSE
dwThreadID
경우 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
섹션 아래 cmd
의 lParam
명령을 참조하세요.
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
대한 최신 호출 OnKeyUp
OnChar
에만 적용됩니다.
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는 새 항목의 정확한 위치를 결정할 때까지 이 호출을 여러 번 수행합니다.
구조체의 멤버가 COMPAREITEMSTRUCT
hwndItem
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
를 사용하여 nCtlColor
CTLCOLOR_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
대한 최신 호출에 OnKeyDown
OnDeadChar
만 적용됩니다.
IBM Enhanced 101 및 102 키 키보드의 경우, 향상된 키는 키보드의 주 섹션에 있는 오른쪽 Alt 키와 오른쪽 Ctrl 키입니다. 숫자 키패드의 왼쪽에 있는 클러스터의 INS, DEL, HOME, END, PAGE UP, PAGE DOWN 및 화살표 키 숫자 키패드의 슬래시(/) 및 ENTER 키 일부 다른 키보드는 .에서 nFlags
확장 키 비트를 지원할 수 있습니다.
참고 항목
이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.
CWnd::OnDeleteItem
프레임워크는 이 멤버 함수를 호출하여 소유자에게 목록 상자 또는 콤보 상자가 제거되거나 항목이 제거되었음을 CComboBox::DeleteString
CListBox::DeleteString
CComboBox::ResetContent
CListBox::ResetContent
소유자에게 알립니다.
afx_msg void OnDeleteItem(
int nIDCtl,
LPDELETEITEMSTRUCT lpDeleteItemStruct);
매개 변수
nIDCtl
메시지를 보낸 컨트롤의 식별자입니다 WM_DELETEITEM
.
lpDeleteItemStruct
삭제된 목록 상자 항목에 DELETEITEMSTRUCT
대한 정보를 포함하는 데이터 구조에 대한 긴 포인터를 지정합니다.
설명
구조체의 멤버가 hwndItem
DELETEITEMSTRUCT
콤보 상자 또는 목록 상자에 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
다음 값 중 하나일 수 있습니다.
DBT_DEVICEARRIVAL
디바이스가 삽입되었으며 이제 사용할 수 있습니다.DBT_DEVICEQUERYREMOVE
디바이스를 제거할 수 있는 권한이 요청됩니다. 모든 애플리케이션은 이 요청을 거부하고 제거를 취소할 수 있습니다.DBT_DEVICEQUERYREMOVEFAILED
디바이스 제거 요청이 취소되었습니다.DBT_DEVICEREMOVEPENDING
디바이스를 제거하려고 합니다. 거부할 수 없습니다.DBT_DEVICEREMOVECOMPLETE
디바이스가 제거되었습니다.DBT_DEVICETYPESPECIFIC
디바이스별 이벤트입니다.DBT_CONFIGCHANGED
현재 구성이 변경되었습니다.DBT_DEVNODES_CHANGED
디바이스 노드가 변경되었습니다.
참고 항목
이 멤버 함수는 애플리케이션에서 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
대상 축소판 그림의 크기를 지정합니다. 이FALSE
면 bIsThumbnail
무시해야 합니다.
bIsThumbnail
이 메서드가 아이콘 썸네일 또는 라이브 미리 보기(미리 보기)에 대해 호출되는지 여부를 지정합니다.
bAlphaChannelSet
[out] 구현에서 TRUE
선택한 dc
비트맵의 알파 채널을 초기화하는 경우로 설정합니다.
설명
썸네일을 사용자 지정하고 피킹하기 위해 파생 클래스에서 이 메서드를 재정의하고 지정된 디바이스 컨텍스트에 그립니다. 이 TRUE
szRequiredThumbnailSize
경우 bThumbnail
무시할 수 있습니다. 이 경우 전체 크기의 비트맵(즉, 전체 클라이언트 영역을 포함하는 비트맵)을 그립니다. 디바이스 컨텍스트(dc
)는 선택한 32비트 비트맵과 함께 제공됩니다. 기본 구현은 플래그 PRF_CHILDREN
PRF_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 개체 DrawItem
에 CButton
속하는 경우 해당 클래스의 가상 함수가 호출됩니다. 적절한 컨트롤 클래스의 멤버 함수를 재정 DrawItem
의하여 항목을 그립니다.
참고 항목
이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.
CWnd::OnDropFiles
프레임워크는 사용자가 삭제된 파일의 수신자로 등록된 창 위에 마우스 왼쪽 단추를 놓을 때 이 멤버 함수를 호출합니다.
afx_msg void OnDropFiles(HDROP hDropInfo);
매개 변수
hDropInfo
삭제된 파일을 설명하는 내부 데이터 구조에 대한 포인터입니다. 이 핸들은 삭제된 DragFinish
파일에 대한 정보를 검색하기 위해 , DragQueryFile
및 DragQueryPoint
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
대화 상자(있는 경우) 또는 표시된 메뉴(있는 경우 nWhy
MSGF_DIALOGBOX
nWhy
MSGF_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
경우 재정의 hbrBackground
OnEraseBkgnd
된 버전의 배경색이 지워집니다. 또한 먼저 브러시를 호출 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 함수를 통해 AddFontResource
RemoveFontResource
)은 모든 최상위 창에 메시지를 보내야 WM_FONTCHANGE
합니다.
이 메시지를 보내려면 매개 변수가 SendMessage
로 설정된 Windows 함수를 hWnd
HWND_BROADCAST
사용합니다.
CWnd::OnGetDlgCode
컨트롤에서 화살표 키 및 Tab 키 입력 자체를 처리할 수 있도록 컨트롤에 대해 호출됩니다.
afx_msg UINT OnGetDlgCode();
Return Value
애플리케이션이 처리하는 입력 유형을 나타내는 다음 값 중 하나 이상입니다.
DLGC_BUTTON
단추(제네릭).DLGC_DEFPUSHBUTTON
기본 푸시버튼입니다.DLGC_HASSETSEL
EM_SETSEL
메시지.DLGC_UNDEFPUSHBUTTON
기본 푸시버튼 처리가 없습니다. (애플리케이션은 이 플래그를DLGC_BUTTON
사용하여 단추 입력을 처리하지만 기본 푸시버튼 처리를 위해 시스템에 의존함을 나타낼 수 있습니다.)DLGC_RADIOBUTTON
라디오 단추입니다.DLGC_STATIC
정적 컨트롤입니다.DLGC_WANTALLKEYS
모든 키보드 입력.DLGC_WANTARROWS
화살표 키입니다.DLGC_WANTCHARS
WM_CHAR
메시지.DLGC_WANTMESSAGE
모든 키보드 입력. 애플리케이션이 이 메시지를 컨트롤에 전달합니다.DLGC_WANTTAB
TAB 키입니다.
설명
일반적으로 Windows는 컨트롤에 대한 모든 화살표 키 및 TAB 키 입력을 CWnd
처리합니다. 컨트롤은 재정의하여 OnGetDlgCode
CWnd
특정 유형의 입력을 선택하여 자체 처리할 수 있습니다.
미리 정의된 컨트롤 클래스의 기본 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_FINDER
및 ID_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_THUMBPOSITION
SB_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_FORWARD
및 INPUTLANGCHANGE_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_DBLCLKS
WNDCLASS
창만 호출을 받습니다 OnLButtonDblClk
. Microsoft Foundation 클래스 창의 기본값입니다. Windows는 사용자가 시스템의 두 번 클릭 시간 제한 내에서 마우스 왼쪽 단추를 누를 때 호출 OnLButtonDblClk
합니다. 마우스 왼쪽 단추를 두 번 클릭하면 실제로 단추를 놓을 때 메시지, WM_LBUTTONDBLCLK
통화 및 다른 WM_LBUTTONUP
메시지의 네 가지 이벤트가 WM_LBUTTONDOWN
WM_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_DBLCLKS
WNDCLASS
창만 호출을 받습니다 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는 메시지를 보내기 전에 스타일로 만든 콤보 상자 및 목록 상자 소유자에 대한 호출 OnMeasureItem
을 OWNERDRAWFIXED
WM_INITDIALOG
시작합니다. 따라서 소유자가 이 호출을 받으면 Windows는 컨트롤에 사용되는 글꼴의 높이와 너비를 아직 결정하지 않았습니다. 이러한 값이 필요한 함수 호출 및 계산은 애플리케이션 또는 라이브러리의 기본 함수에서 발생해야 합니다.
측정되는 항목이 CMenu
개체 CListBox
인 CComboBox
MeasureItem
경우 적절한 클래스의 가상 함수가 호출됩니다. 적절한 컨트롤 클래스의 멤버 함수를 재정 MeasureItem
의하여 각 항목의 크기를 계산하고 설정합니다.
OnMeasureItem
는 런타임에 컨트롤의 클래스가 만들어지거나 스타일이 CBS_OWNERDRAWVARIABLE
있는 LBS_OWNERDRAWVARIABLE
경우에만 호출됩니다. 대화 상자 편집 OnMeasureItem
기에서 컨트롤을 만든 경우 호출되지 않습니다. 이는 컨트롤 생성 WM_MEASUREITEM
프로세스 초기에 메시지가 전송되기 때문입니다. 또는 서브SubclassDlgItem
SubclassWindow
클래스를 사용하여 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_SYSMENU
MF_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
활성 또는 비활성 상태를 나타내기 위해 캡션 표시줄 또는 아이콘을 변경해야 하는 시기를 지정합니다. bActive
매개 변수는 TRUE
활성 캡션 또는 아이콘을 그릴 경우입니다. 비활성 캡션 또는 아이콘용입니다 FALSE
.
Return Value
Windows에서 기본 처리를 진행해야 하는 경우 0이 아닌 경우 캡션 표시줄 또는 아이콘이 비활성화되지 않도록 0입니다.
설명
기본 구현은 현재 색인 경우 제목 표시줄 및 제목 표시줄 텍스트를 비활성 색(있는 경우 bActive
TRUE
bActive
FALSE
)으로 그립니다.
참고 항목
이 멤버 함수는 애플리케이션에서 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]
유효한 경우에만 bCalcValidRects
TRUE
유효합니다. 이 경우 사각형은 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
를 호출합니다.
작업과 같은 고유한 정리를 수행하려는 경우 재정 PostNcDestroy
의 delete 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
화면의 왼쪽 위 모서리를 기준으로 커서의 x 및 y 좌표를 지정하는 개체입니다.
설명
이 메서드는 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
프레임워크는 커서가 창의 비클라이언트 영역에 있는 동안 사용자가 마우스를 놓 XBUTTON1
을 XBUTTON2
때 이 멤버 함수를 호출합니다.
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
화면의 왼쪽 위 모서리를 기준으로 커서의 x 및 y 좌표를 지정하는 개체입니다.
설명
이 메서드는 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_NOTIFY
및 WM_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
요청합니다. 매개 변수인nCommand
NF_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
호출하면 안 됩니다.
메시지가 잘못된 영역과 플래그가 설정된 멤버 함수에 대한 호출로 인해 발생했을 수 있으므로 WM_PAINT
각 WM_PAINT
메시지에 대한 내부 데이터 구조를 확인하여 필요한 내부 다시 그리기 또는 업데이트를 확인하는 것은 애플리케이션의 RedrawWindow
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_CREATE
message
창 핸들을 지정하거나 WM_DESTROY
lParam
자식 창의 창 핸들을 지정하는 경우 커서 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이 됩니다.
설명
있는 동안 활성화 OnQueryOpen
CWnd
또는 포커스 변경(예: 대화 상자 만들기)을 발생시키는 작업을 수행해서는 안 됩니다.
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_RBUTTONDOWN
WM_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
자식 창에 bRedraw
OnSize
대해 또는 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
Print Manager 큐에 남아 있는 작업 수를 지정합니다.
설명
이 호출은 정보 제공 용도로만 사용됩니다.
참고 항목
이 멤버 함수는 애플리케이션에서 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_HOTKEY
CWnd
애플리케이션에서 지정한 핫 키와 연결된 개체를 활성화합니다. 낮은 순서의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
결합하여 올바른 결과를 얻어야 합니다.
컨트롤 메뉴의 메뉴 항목은 , AppendMenu
및 InsertMenu
ModifyMenu
멤버 함수를 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 함수에 OnSysKeyDown
TranslateAccelerator
전달할 수 있습니다. 이 함수는 시스템 키 메시지 대신 일반 키 메시지인 것처럼 처리합니다. 이렇게 하면 활성 창에 입력 포커스가 없는 경우에도 활성 창에서 액셀러레이터 키를 사용할 수 있습니다.
자동 반복으로 인해 메시지를 받기 전에 둘 OnSysKeyDown
이상의 호출이 WM_SYSKEYUP
발생할 수 있습니다. 이전 키 상태(비트 14)를 사용하여 호출이 첫 번째 다운 전환 또는 반복되는 다운 전환을 나타내는지 여부를 OnSysKeyDown
확인할 수 있습니다.
IBM Enhanced 101 및 102 키 키보드의 경우 고급 키는 키보드의 주 섹션에서 오른쪽 ALT 키와 오른쪽 CTRL 키, INS, DEL, HOME, END, PAGE UP, PAGE DOWN 및 숫자 키패드의 왼쪽에 있는 클러스터의 화살표 키, 숫자 키패드의 슬래시(/) 및 ENTER 키입니다. 일부 다른 키보드는 .에서 nFlags
확장 키 비트를 지원할 수 있습니다.
참고 항목
이 멤버 함수는 애플리케이션에서 Windows 메시지를 처리할 수 있도록 프레임워크에서 호출됩니다. 함수에 전달되는 매개 변수는 해당 메시지가 수신되었을 때 프레임워크에서 받았던 매개 변수를 반영합니다. 이 함수의 기본 클래스 구현을 호출하는 경우, 해당 구현은 해당 함수에 공급한 매개변수가 아닌, 메시지와 함께 전달 받았던 원래의 매개 변수를 사용할 것입니다.
CWnd::OnSysKeyUp
개체에 포커스 OnSysKeyUp
가 CWnd
있는 경우 사용자가 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 함수에 OnSysKeyUp
TranslateAccelerator
전달할 수 있습니다. 이 함수는 시스템 키 메시지 대신 일반 키 메시지인 것처럼 처리합니다. 이렇게 하면 활성 창에 입력 포커스가 없더라도 액셀러레이터(바로 가기) 키를 활성 창과 함께 사용할 수 있습니다.
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 도움말을 사용하여 학습 카드를 시작한 경우에만 호출됩니다. 애플리케이션은 함수 호출에서 명령을 지정하여 HELP_TCARD
학습 카드를 시작합니다 WinHelp
.
CWnd::OnTimeChange
프레임워크는 시스템 시간이 변경된 후 이 멤버 함수를 호출합니다.
afx_msg void OnTimeChange();
설명
시스템 시간을 변경하는 애플리케이션이 이 메시지를 모든 최상위 창으로 보내도록 합니다. 모든 최상위 창에 WM_TIMECHANGE
메시지를 보내기 위해 애플리케이션은 해당 매개 변수가 SendMessage
로 설정된 Windows 함수를 HWND_BROADCAST
hwnd
사용할 수 있습니다.
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_NOTBUTTON
TTF_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_VKEYTOITEM
다 WM_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_BROADCAST
hwnd
사용할 수 있습니다.
애플리케이션이 동시에 여러 섹션 WIN.INI
을 변경하는 경우 애플리케이션은 .로 설정된 NULL
메시지를 lpszSection
하나 WM_WININICHANGE
보내야 합니다. 그렇지 않으면 애플리케이션이 변경할 WIN.INI
때마다 전송 WM_WININICHANGE
해야 합니다.
애플리케이션이 설정된 호출 lpszSection
을 OnWinIniChange
수신하는 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
가 있고 스타일에 포함된 경우 포인터의 cs
this
hMenu 멤버를 할당합니다WS_CHILD
. 적절한 기능을 위해 대화 상자 컨트롤에 없는 NULL
ID가 있는지 확인합니다.
이 변경으로 인해 관리/네이티브 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 함수로 디스패치되기 전에 창 메시지를 번역하는 데 DispatchMessage
TranslateMessage
사용됩니다.
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
업데이트 지역을 식별합니다. 둘 다 prgnUpdate
인 lpRectUpdate
NULL
경우 전체 클라이언트 영역이 업데이트 지역에 추가됩니다.
flags
다음 플래그는 창을 무효화하는 데 사용됩니다.
RDW_ERASE
창이 다시 칠해지면 창이 메시지를 받WM_ERASEBKGND
도록 합니다.RDW_INVALIDATE
플래그도 지정해야 합니다. 그렇지 않으면 RDW_ERASE 영향을 주지 않습니다.RDW_FRAME
업데이트 영역과 교차하는 창의 비클라이언트 영역 일부가 메시지를 받WM_NCPAINT
도록 합니다.RDW_INVALIDATE
플래그도 지정해야 합니다. 그렇지 않으면RDW_FRAME
효과가 없습니다.RDW_INTERNALPAINT
WM_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_NCPAINT
WM_ERASEBKGND
도록 합니다.
기본적으로 함수의 영향을 받는 RedrawWindow
창은 WS_CLIPCHILDREN
지정된 창에 스타일이 있는지 여부에 따라 달라집니다. 창의 WS_CLIPCHILDREN
자식 창은 영향을 받지 않습니다. 그러나 창이 아닌 WS_CLIPCHILDREN
창은 창이 발견될 때까지 WS_CLIPCHILDREN
재귀적으로 유효성을 검사하거나 무효화됩니다. 다음 플래그는 함수의 영향을 받는 창을 제어합니다 RedrawWindow
.
RDW_ALLCHILDREN
다시 그리기 작업에 자식 창(있는 경우)을 포함합니다.RDW_NOCHILDREN
다시 그리기 작업에서 자식 창(있는 경우)을 제외합니다.
Return Value
창이 성공적으로 다시 그려진 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
멤버 함수를 RedrawWindow
사용하여 바탕 화면 창의 일부를 무효화하면 해당 창에 WM_PAINT
메시지가 표시되지 않습니다. 데스크톱을 다시 그리려면 애플리케이션에서 를 CWnd::UpdateWindow
CWnd::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::OnWndMsg
CCmdTarget::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
제공된 lpPoint
lpRect
화면 좌표를 클라이언트 좌표로 바꿉니다. 새 좌표는 클라이언트 영역의 왼쪽 위 모서리를 기준으로 합니다 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
경우 문제를 방지하려면 호출하기 전에 멤버 함수를 호출 ScrollWindow
UpdateWindow
하여 다시 칠 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
되면 이 영역이 무효화됩니다. 애플리케이션이 멤버 함수를 호출하거나, 멤버 함수를 호출 UpdateWindow
RedrawWindow
하거나(지정 RDW_UPDATENOW
또는 RDW_ERASENOW
) 애플리케이션 큐에서 메시지를 검색할 때까지 영역이 WM_PAINT
업데이트되지 않습니다.
창에 스타일이 WS_CLIPCHILDREN
있는 경우 반환된 영역은 prgnUpdate
업데이트해야 하는 자식 창의 영역을 포함하여 업데이트해야 하는 스크롤된 창의 총 영역을 지정하고 lpRectUpdate
나타냅니다.
플래그를 SW_SCROLLCHILDREN
지정하면 자식 창의 일부가 스크롤되는 경우 Windows에서 화면을 제대로 업데이트하지 않습니다. 원본 사각형 외부에 있는 스크롤된 자식 창의 부분은 지워지지 않으며 새 대상에서 제대로 다시 그려지지 않습니다. Windows 함수를 DeferWindowPos
사용하여 사각형 내에 lpRectScroll
완전히 놓이지 않는 자식 창을 이동합니다. 플래그가 설정되고 캐리트 사각형이 스크롤 사각형과 교차하면 SW_SCROLLCHILDREN
커서의 위치가 변경됩니다.
창에 클래스 스타일이 있는지 여부에 관계없이 모든 입력 및 출력 좌표(for , , 및)는 클라이언트 좌표로 CS_CLASSDC
CS_OWNDC
간주됩니다.prgnUpdate
lpRectUpdate
lpRectClip
lpRectScroll
LPtoDP
DPtoLP
필요한 경우 논리 좌표와 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
메시지는 창의 직계 자식에게만 전송되고, 그렇지 않으면 메시지가 모든 하위 창으로 전송됩니다.
bOnlyPerm
TRUE
있는 경우 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_DRAWCLIPBOARD
WM_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
정수 값이 부호 있는지 아니면 부호 없는지를 지정합니다. 이 매개 변수가 TRUE
nValue
있으면 서명됩니다. 이 매개 변수가 TRUE
nValue
0보다 작으면 문자열의 첫 번째 숫자 앞에 빼기 기호가 배치됩니다. 이 매개 변수인 FALSE
nValue
경우 서명되지 않습니다.
설명
SetDlgItemInt
는 WM_SETTEXT
지정된 컨트롤에 메시지를 보냅니다.
예시
CWnd::SetDlgItemText
에 대한 예를 참조하세요.
CWnd::SetDlgItemText
창 또는 대화 상자가 소유한 컨트롤의 캡션 또는 텍스트를 설정합니다.
void SetDlgItemText(
int nID,
LPCTSTR lpszString);
매개 변수
nID
텍스트를 설정할 컨트롤을 식별합니다.
lpszString
컨트롤에 CString
복사할 텍스트가 들어 있는 개체 또는 null로 끝나는 문자열을 가리킵니다.
설명
SetDlgItemText
는 WM_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_SYSCHAR
WM_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
이면 TRUE
32픽셀 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
이 멤버 함수를 호출하여 로 지정된 dwDispID
OLE 컨트롤 속성을 설정합니다.
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::OnVScroll
16비트 위치 CWnd::OnHScroll
데이터만 제공하는 MFC Windows 메시지 처리기입니다. GetScrollInfo
SetScrollInfo
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
. 이 매개 변수인 NULL
WM_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::OnTimer
CWnd::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 순서로 CWnd
이 CWnd
개체 앞에 올 개체(보다 높음)를 식별합니다. 이 매개 변수는 다음 값 중 하나에 대한 CWnd
포인터 또는 포인터일 수 있습니다.
wndBottom
Z 순서의 맨 아래에 창을 배치합니다. 맨 위 창이CWnd
면 창의 맨 위 상태가 손실되고 시스템은 창을 다른 모든 창의 맨 아래에 배치합니다.wndTop
창을 Z 순서의 맨 위에 놓습니다.wndTopMost
맨 위가 아닌 모든 창 위에 창을 배치합니다. 창은 비활성화된 경우에도 맨 위 위치를 유지합니다.wndNoTopMost
창의 위치를 맨 위가 아닌 모든 창(즉, 맨 위 창 뒤)의 맨 위로 변경합니다. 창이 이미 맨 위가 아닌 창인 경우에는 이 플래그가 적용되지 않습니다.
이 매개 변수를 사용하는 방법에 대한 규칙은 이 항목의 "주의" 섹션을 참조하세요.
x
창 왼쪽의 새 위치를 지정합니다.
y
창 위쪽의 새 위치를 지정합니다.
cx
창의 새 너비를 지정합니다.
cy
창의 새 높이를 지정합니다.
nFlags
크기 조정 및 위치 지정 옵션을 지정합니다. 이 매개 변수는 다음 플래그의 조합일 수 있습니다.
SWP_DRAWFRAME
창 주위에 프레임(창이 생성되었을 때 정의됨)을 그립니다.SWP_FRAMECHANGED
WM_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_NOACTIVATE
SWP_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
비활성 창을 활성화하면 창이 맨 위가 아닌 모든 창 위로 이동되지만 맨 위 창 아래로 이동합니다.
매개 변수가 &wndBottom
CWnd
맨 위 창일 때 pWndInsertAfter
호출되면 SetWindowPos
창의 맨 위 상태가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
연결하고 컨트롤 WndProc
과 AfxWndProc
함수를 대체합니다. 함수는 멤버 함수에서 반환된 위치에 이전 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
연결하고 창 WndProc
과 AfxWndProc
함수를 대체합니다. 함수는 개체의 이전 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
대화 상자가 초기화되고 있는지() 또는 데이터를 검색하고 있는지(FALSE
TRUE
)를 나타내는 플래그입니다.
Return Value
작업이 성공하면 0이 아닌 경우 그렇지 않으면 0입니다. 이 TRUE
경우 bSaveAndValidate
0이 아닌 반환 값은 데이터의 유효성을 성공적으로 검사했음을 의미합니다.
설명
프레임워크는 기본 구현CDialog::OnInitDialog
에서 bSaveAndValidate
모달 대화 상자가 만들어질 때 설정된 FALSE
상태로 자동으로 호출 UpdateData
됩니다. 대화 상자가 표시되기 전에 호출이 발생합니다. 데이터를 검색하도록 설정된 이 멤버 함수 bSaveAndValidate
를 TRUE
호출하는 기본 구현 CDialog::OnOK
이며, 성공하면 대화 상자가 닫힙니다. 대화 상자에서 취소 단추를 클릭하면 데이터를 검색하지 않고 대화 상자가 닫힙니다.
CWnd::UpdateDialogControls
이 멤버 함수를 호출하여 콜백 메커니즘을 사용하는 대화 상자 또는 창에서 대화 상자 단추 및 기타 컨트롤의 ON_UPDATE_COMMAND_UI
상태를 업데이트합니다.
void UpdateDialogControls(
CCmdTarget* pTarget,
BOOL bDisableIfNoHndler);
매개 변수
pTarget
애플리케이션의 주 프레임 창을 가리키며 업데이트 메시지를 라우팅하는 데 사용됩니다.
bDisableIfNoHndler
업데이트 처리기가 없는 컨트롤이 비활성화된 것으로 자동으로 표시되어야 하는지 여부를 나타내는 플래그입니다.
설명
자식 컨트롤에 처리기가 bDisableIfNoHndler
TRUE
없는 경우 자식 컨트롤이 비활성화됩니다.
프레임워크는 애플리케이션의 유휴 처리의 일부로 대화 상자 모음 또는 도구 모음의 컨트롤에 대해 이 멤버 함수를 호출합니다.
CWnd::UpdateLayeredWindow
계층적 창의 위치, 크기, 모양, 내용 및 투명도를 업데이트합니다.
BOOL UpdateLayeredWindow(
CDC* pDCDst,
POINT* pptDst,
SIZE* psize,
CDC* pDCSrc,
POINT* pptSrc,
COLORREF crKey,
BLENDFUNCTION* pblend,
DWORD dwFlags);
매개 변수
pDCDst
화면의 디바이스 컨텍스트에 대한 포인터입니다. 창 내용이 업데이트되는 경우 색상표 색 일치에 사용됩니다. 이 NULL
경우 pDCDst
기본 색상표가 사용됩니다.
이 NULL
pDCDst
면 pDCSrc
여야 합니다NULL
.
pptDst
계층화된 창의 POINT
새 화면 위치를 지정하는 구조체에 대한 포인터입니다. 현재 위치가 변경되지 pptDst
NULL
않는 경우 .
psize
SIZE
계층화된 창의 새 크기를 지정하는 구조체에 대한 포인터입니다. 창의 크기가 변경되지 psize
않는 경우 다음을 수행할 NULL
수 있습니다.
이 NULL
psize
면 pDCSrc
여야 합니다NULL
.
pDCSrc
계층화된 창을 정의하는 표면의 DC에 대한 포인터입니다. 창의 모양과 시각적 컨텍스트가 변경되지 pDCSrc
NULL
않는 경우 .
pptSrc
디바이스 컨텍스트에서 POINT
계층의 위치를 지정하는 구조체에 대한 포인터입니다.
이 NULL
pptSrc
면 pDCSrc
여야 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
CPoint
검사할 지점을 정의하는 개체 또는 POINT
데이터 구조를 지정합니다.
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_FINETOUCH
TWF_WANTPALM
중 하나가 포함될 수 있습니다.
Return Value
성공하면 TRUE
이고, 그렇지 않으면 FALSE
입니다.
설명
CWnd::ResizeDynamicLayout
창에 대해 동적 레이아웃을 사용하도록 설정한 경우 창 크기가 변경되면 자식 창의 레이아웃을 조정하기 위해 프레임워크에서 호출됩니다.
virtual void ResizeDynamicLayout();