최소화 버튼 클릭시에 타이틀 바만 보이도록 한다.
최대화 버튼 클릭시 원래 사이즈로 돌아도록한다.
최대화, 최소화이벤트는 WM_SYSCOMMAND메시지 이벤트 함수에서 처리할 수 있다.
창 더블클릭시 창이 최소화되고 최대화되는 이벤트는 WM_NCLBUTTONDBCLICK 메시지 이벤트 함수에서 처리할 수 있다.
BOOL MyDlg::OnInitDialog(){
RECT s;
GetWindowRect(&s); //초기 창의 크기
width = s.right - s.left;
height = s.bottom - s.top;
/*시스템 바 높이 구하기*/
int iEdge; // 테두리 라인 굵기
iEdge = GetSystemMetrics(SM_CYEDGE); //테두리 사이즈를 구한다.
titleBarHeight = GetSystemMetrics(SM_CYCAPTION) + iEdge; //테두리 사이즈를 더한 높이가 실제 높이
}
void MyDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if (nID == SC_MINIMIZE) { //최소화 버튼 클릭시
SetWindowPos(NULL, 0, 0, 250, titleBarHeight, SWP_NOMOVE | SWP_NOZORDER);
}
else if (nID == SC_MAXIMIZE) { //최대화 버튼 클릭시
SetWindowPos(NULL, 0, 0, width, height, SWP_NOMOVE | SWP_NOZORDER);
}
else {
CDialog::OnSysCommand(nID, lParam);
}
}
'◼️MFC' 카테고리의 다른 글
[MFC] 버튼 클릭시 Client Edge true로 변경 (0) | 2023.11.29 |
---|---|
[MFC] 다이얼로그 소멸 순서 (1) | 2023.11.29 |
[MFC] CFont 폰트 굵기 변경 (0) | 2023.11.29 |
[MFC] 기본 버튼 폰트 사이즈 (0) | 2023.11.29 |
[MFC] 창 최소화 (0) | 2023.11.29 |