2008년 05월 15일
윈도우 크기 변경
출처 : http://www.tipssoft.com/bulletin/board.php?bo_table=update&wr_id=275
CDialog에서 계승받은 ResizingChildWndDlg클래스에 OnSize()함수에 아래와 같은 코드를
추가합니다.
GetClientRect(r); if(GetDlgItem(IDC_STATIC_1) != NULL){ // 좌우 여백을 10씩 그리고 두 윈도우간 여백을 2로 준다고 가정. // 따라서 두 Static 컨트롤의 폭은 대화상자의 폭에서 좌우여백을 각각 10씩 배고 // 두 컨트롤간의 간격인 2를뺀 값을 2로 나누면 각각의 폭이 나오게 된다. // 즉, (r.Width() - 22)/2 값이 static 컨트롤의 폭인된다. int child_width = (r.Width() - 22)/2; // Static 컨트롤의 크기를 재조정한다. GetDlgItem(IDC_STATIC_1)->SetWindowPos(NULL, 10, 10, child_width, r.Height() - 20, 0); GetDlgItem(IDC_STATIC_2)->SetWindowPos(NULL, 10 + 2 + child_width, 10, child_width, r.Height() - 20, 0); // Static 컨트롤의 텍스트가 변경된 위치에 제대로 출력되도록 갱신한다. GetDlgItem(IDC_STATIC_1)->Invalidate(); GetDlgItem(IDC_STATIC_2)->Invalidate(); } }
# by | 2008/05/15 01:55 | Prog Skill | 트랙백 | 덧글(0)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]