공통 다이얼로그
많은 프로그램에서 자주 사용되는 기능들의 인터페이스에 대한 다이얼로그
COMDLG32.DLL 에 포함되어 있다.
CColorDialog : 색깔 다이얼로그
CFileDialog : 파일 다이얼로그
CFindReplaceDialog : 찾기/바꾸기 다이얼로그
CPageSetupDialog : 인쇄하기 전에 쓰이는 페이지 설정 다이얼로그
CFontDialog : 폰트 다이얼로그
CPrintDialog : 프린터 다이얼로그
파일 다이얼로그
CFileDialog::CFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL, DWORD dwSize = 0);
참고주소 : http://msdn.microsoft.com/en-us/library/wh5hz49d(VS.71).aspx
표준 윈도우 파일 다이얼로그 객체를 생성한다.
bOpenFileDialog : TRUE면 파일열기, FALSE면 파일 저장.
lpszDefExt : 기본 파일 확장자.
lpszFileName : 에디트 박스에 나타나는 초기 파일 이름
dwFlags : 다이얼로그를 사용자에 맞게 만들기 위해 사용하는 플래그의 조합
lpszFilter : 파일에 적용할 수 있는 특별한 필터.
사용예시) char szFilter[] = "Text File (*.txt) | *.txt | All Files(*.*)|*.*||";
pParentWnd : 다이얼로그 객체의 부모 포인터
dwSize : OPENFILENAME 구조체의 크기
CString CFileDialog::GetPathName( ) const;
참고주소 : http://msdn.microsoft.com/en-us/library/5b9c3c1f(VS.71).aspx
다이얼로그에 입력된 파일의 전체 경로를 얻는다.
리턴 : 파일의 전체 경로
프로퍼티 시트
위저드 모드 / 일반모드
'적용' 버튼이 있다. (dirty 상태일 때 사용)
Property Sheet(프레임) : CWnd상속
Property Sheet(내용) : CDialog상속
OK/CANCEL버튼 필요없다.
생성자
CPropertySheet::CPropertySheet( LPCTSTR pszCaption, CWnd *pParentWnd = NULL, UINT iSelectPage = 0 );
참고주소 : http://msdn.microsoft.com/en-us/library/aa299544(VS.60).aspx
pszCaption : 제목창의 문자열 이름
pParentWnd : 프로퍼티 시트의 부모 윈도우. NULL이면 메인 윈도우와 연결됨
iSelectPage : 초기화될 페이지의 인덱스.
함수
virtual INT_PTR CPropertySheet::DoModal( );
참고주소 : http://msdn.microsoft.com/en-us/library/8xk61eyw(VS.80).aspx
모달 프로퍼티 시트를 연다.
리턴 : 성공시 IDOK 혹은 IDCANCEL . 실패시 0 또는 -1
만약 프로피터 시트가 위저드로서 만들어졌다면 DoModal은 ID_WIZFINISH나 IDCANCEL로 리턴이 된다.
void CPropertySheet::AddPage(CPropertyPage *pPage);
참고주소 : http://msdn.microsoft.com/en-us/library/y2ed8wah(VS.80).aspx
프로퍼티 시트에서 우상단 탭에 페이지를 추가한다.
pPage : NULL이 될 수 없고 프로퍼티 시트에 추가할 페이지.
CPropertyPage* CPropertySheet::GetActivePage() const;
참고주소 : http://msdn.microsoft.com/en-us/library/730397w6(VS.80).aspx
프로퍼티 시트 윈도우의 활성화된 페이지를 얻는다.
리턴 : 활성화 된 페이지의 포인터
BOOL CPropertySheet::SetActivePage(int nPage);
BOOL CPropertySheet::SetActivePage(CPropertyPage* pPage);
void CPropertySheet::SetWizardMode();
참고주소 : http://msdn.microsoft.com/en-us/library/1sse9730(VS.80).aspx
프로퍼티 페이지를 위저드로 설정한다.
CPropertyPage
프로퍼티 시트의 각 페이지
다이얼로그 리소스로부터 생성되므로 함수들이 비슷함.
다이얼로그 캡션은 프로퍼티시트의 탭의 이름이 된다.
클래스 위저드에서 기본(부모) 클래스를 CPropertyPage를 사용해야 한다. (CDialog아님)
'컴퓨터 공부 > MFC 프로그래밍' 카테고리의 다른 글
[5월 21일 1교시] 고급 이벤트 메세지 2 (0) | 2009.05.21 |
---|---|
[5월 20일 3교시] 프로퍼티 시트2 + 고급 이벤트 메세지 1 (0) | 2009.05.20 |
[5월 20일 1교시] 트리 컨트롤 2 (0) | 2009.05.20 |
[5월 19일 3교시] 트리 컨트롤 (0) | 2009.05.19 |
[5월 19일 2교시] 모달리스 다이얼로그 (0) | 2009.05.19 |