하루노트

Child Dialog에서 최소화 버튼 구현

kih5893 2015. 5. 13. 11:36

정말 별건 아니지만 이틀 동안 고생한 끝에 찾아서 수정했다.

보통 최소화 코드를 만들 때 버튼 클릭 시 생성되는 이벤트로 아래의 코드 삽입.

 -> PostMessage(WM_SYSCOMMAND, SC_MINIMIZE);

윈도우 메시지 추가 (WM_SYSCOMMAND)

void CScanPopup::OnSysCommand(UINT nID, LPARAM lParam)
{
     CDialogEx::OnSysCommand(nID, lParam);
}

하지만 위의 코드들을 입력해도 최소화가 정상적으로 이루어지지 않을 때가 있다.

그 이유는 다름 아닌 메인 Dlg에서 Child Dlg를 호출할 때 있었다.

Child Dlg를 만들 때 Create 함수 사용 시 Create(IDD_SCANPOPUP, GetDesktopWindow()); 이와 같이 Dlg를 생성하는데 2번째 인자에 this를 써서 문제가 계속 발생했으며, GetDesktopWindow() 함수로 수정 후 정상 동작 확인했다.

 

반응형