다이얼로그를 이용한 작업 도중에 생긴 답답했던 내용들을 정리합니다.
* 미션: 다이얼로그를 처음 띄울때 화면의 최대화 사이즈로 키우기.
*어디를 수정해야 할까?
1)첫시도: mfc의 리소스의 dialog의 속성을 수정하여 해결하려 하였으나 못찾음 ㅠ.ㅠ
2)Dialog를 생성하고 DoModal을 실행하기 이전에 코드를 수정해 보기
: 실행시 죽어버림 ㅠ.ㅠ
3)dialog의 OnInitDialog에서 설정함 -> 처리됨
* 어떻게 수정했을까?
먼저 윈도우 조절 관련 함수들을 찾아보니.
ModifyStyle
SetWindowPos
MoveWindow
등으로 조절할 수 있다. (자세한 내용은 MSDN참조)
그리고 좌표를 불러오는 함수들에는
GetWindowRect() : 윈도우 좌표불러오기
GetSystemMetrics(SM_CXSCREEN); 시스템전체 WIDTH
SystemParametersInfo( SPI_GETWORKAREA...) : 시스템영역중 작업표시줄을 제외한 영역불러오기
등이 있다.
최종 소스를 보면,아래와 같다.
CRect rcWork;
// 최대사용가능영역알아오기
SystemParametersInfo( SPI_GETWORKAREA, 0, &rcWork, 0 ) ;
// 윈도우 위치를 설정
SetWindowPos(NULL, rcWork.left, rcWork.top, rcWork.right-rcWork.left,
rcWork.bottom-rcWork.top, SWP_NOMOVE | SWP_NOZORDER);
'old drawer > C, C++, MFC' 카테고리의 다른 글
[MFC]다이얼로그 한쪽 사이즈만 조절 가능하게 하기 (0) | 2012.07.23 |
---|---|
[MFC]윈도우 리사이즈시 컨트롤 사이즈 리사이즈 (0) | 2012.07.23 |
[MFC] 다이얼로그에 CView 동적 생성 (0) | 2012.07.20 |
[MFC] 버튼의 동적생성 (0) | 2012.07.20 |
[MFC] 다이얼로그 동적 생성 (1) | 2012.07.19 |