윈도우와 컨트롤의 WM_ACTIVATEAPP, WM_ACTIVATE, WM_SETFOCUS, WM_KILLFOCUS 등의 발생시기를 잘 보여주는 프로그램입니다.
게임에서 사용자가 Alt Tab과 같은 작동을 할 경우 자신의 어플리케이션이 활성화 되었는지(Active), 활성화 되지 않은지(Inactive)에 따라서 사운드, 화면(풀스크린) 복구 작업을 하기 때문에 그 정확한 시점을 테스트 해보고자 만들어 보았습니다.
코드 |
ON_EN_SETFOCUS(IDC_EDIT1, OnSetfocusEdit1) ON_EN_KILLFOCUS(IDC_EDIT1, OnKillfocusEdit1) ON_EN_KILLFOCUS(IDC_EDIT2, OnKillfocusEdit2) ON_EN_SETFOCUS(IDC_EDIT2, OnSetfocusEdit2) ON_EN_KILLFOCUS(IDC_EDIT3, OnKillfocusEdit3) ON_EN_SETFOCUS(IDC_EDIT3, OnSetfocusEdit3) ON_WM_ACTIVATEAPP() ON_WM_ACTIVATE()
//----------- OnActivateApp void CActiveAndFocusDlg::OnActivateApp(BOOL bActive, HTASK hTask) { CDialog::OnActivateApp(bActive, hTask);
if( bActive == TRUE ) SetDlgItemText( IDC_EDIT_ACTIVEAPP, "활성화Yes" ); else SetDlgItemText( IDC_EDIT_ACTIVEAPP, "활성화No" ); }
//----------- OnActivate void CActiveAndFocusDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) { CDialog::OnActivate(nState, pWndOther, bMinimized);
if( nState == WA_INACTIVE ) SetDlgItemText( IDC_EDIT_ACTIVE, "nState == WA_INACTIVE" ); else if( nState == WA_ACTIVE ) SetDlgItemText( IDC_EDIT_ACTIVE, "nState == WA_ACTIVE" ); else if( nState == WA_CLICKACTIVE ) SetDlgItemText( IDC_EDIT_ACTIVE, "nState == WA_CLICKACTIVE" ); }
//----------- 버튼 void CActiveAndFocusDlg::OnSetfocusEdit1() { SetDlgItemText( IDC_EDIT1, "포커스O" ); } void CActiveAndFocusDlg::OnKillfocusEdit1() { SetDlgItemText( IDC_EDIT1, "포커스X" ); }
//----------- 버튼 void CActiveAndFocusDlg::OnSetfocusEdit2() { SetDlgItemText( IDC_EDIT2, "포커스O" ); } void CActiveAndFocusDlg::OnKillfocusEdit2() { SetDlgItemText( IDC_EDIT2, "포커스X" ); }
//----------- 버튼 void CActiveAndFocusDlg::OnSetfocusEdit3() { SetDlgItemText( IDC_EDIT3, "포커스O" ); } void CActiveAndFocusDlg::OnKillfocusEdit3() { SetDlgItemText( IDC_EDIT3, "포커스X" ); } |
'C & C++ > MFC 컨트롤' 카테고리의 다른 글
[Dialog] 단일문서(SDI),다중문서(MDI),대화 상자 기반(Dialog)의 초기 처리 (0) | 2011.03.27 |
---|---|
[Dialog] 스플리터 윈도우 크기조절 (0) | 2011.03.27 |
[Cursor] 작업동안 사용자 배려 대기 커서 보이기 (0) | 2011.03.27 |
툴바 짧은경로명 길게~ (0) | 2011.03.27 |
[Dialog] 시작시 트레이 아이콘으로 시작 (0) | 2011.03.27 |
댓글