본문 바로가기
C & C++/MFC 컨트롤

[Tip] 윈도우에 Focus 가지 않게 하기

by izen8 2011. 3. 27.
반응형
1.요약

가끔식 특정윈도가 포커스를 가지지 않기를 원할때가 있습니다.
아주 간단한 방법이긴하지만 여기에 소개하겠습니다.

2.본문

윈도가 포커스를 가지면 WM_SETFOCUS 메시지가 발생합니다.
이때 들어오는 값으로 이전에 포커스를 가진 윈도의 핸들이 넘어옵니다.
특정 윈도에 포커스를 가지지 못하게 할려면 WM_SETFOCUS에 넘어오는 이전 포커스를 가진 윈도에 다시 SetFocus()를 하면 됩니다.


3.예제

void CMyWnd::OnSetFocus(CWnd* pOldWnd) 

{ 

    CWnd::OnSetFocus(pOldWnd); 

    

    // TODO: Add your message handler code here 

    if (pOldWnd->GetSafeHwnd()) 

        pOldWnd->SetFocus(); 

} 

반응형

댓글