mfc 탐색기 예제

대부분의 Windows 시스템 응용 프로그램은 파일 탐색기의 사용자 인터페이스(UI)를 사용합니다. 예를 들어 파일 탐색기를 시작하면 클라이언트 영역을 분할하는 세로 분할 막대가 있는 응용 프로그램이 표시됩니다. 클라이언트 영역의 왼쪽에는 탐색 및 검색 기능이 제공되며 클라이언트 영역의 오른쪽에는 왼쪽 창의 선택 영역과 관련된 세부 정보가 표시됩니다. 사용자가 왼쪽 창에서 항목을 클릭하면 응용 프로그램이 오른쪽 창을 다시 채웁니다. MDI 응용 프로그램에서 보기 메뉴의 명령을 사용하여 오른쪽 창에 표시된 세부 정보의 양을 변경할 수 있습니다. SDI 또는 여러 최상위 문서 응용 프로그램에서 도구 모음 단추만 사용하여 세부 정보를 변경할 수 있습니다. 대화 상자의 컨트롤에 대한 속성을 설정합니다. 전체 컨트롤 범위를 보여 주려면 예제의 각 IE4 공통 컨트롤에 다양한 속성을 설정해야 합니다. 다음은 설정해야 하는 각 속성에 대한 간략한 개요입니다. 이 예제는 익숙한 도구 모음 밴드와 대화 모음 밴드라는 두 개의 밴드가 있는 철근이 있는 SDI 응용 프로그램을 만듭니다. 도 25는 동작하는 예제를 보여 주다. UINT 마스크: 구조를 사용하여 수행할 작업을 지정하는 비트 플래그 집합입니다. 예를 들어 이미지 필드를 설정하거나 작업에서 검색할 경우 CBEIF_IMAGE 플래그를 설정합니다.

그림 1의 왼쪽 하단에 있는 대형 디스플레이는 월 달력입니다. 날짜 및 시간 선택기 컨트롤과 마찬가지로 월 캘린더 컨트롤을 사용하면 사용자가 날짜를 선택할 수 있습니다. 그러나 월 캘린더 컨트롤을 사용하여 응용 프로그램에서 PIM(작은 개인 정보 관리자)을 구현할 수도 있습니다. 원하는 경우 1개월에서 1개월까지 객실에서 제공하는 만큼의 개월을 표시할 수 있습니다. MYMFC25A는 월 달력 컨트롤을 사용하여 2개월만 표시합니다. 월 캘린더 컨트롤은 단일 또는 다중 선택을 지원하며 번호가 매겨진 달및 동그라미 “오늘 날짜”와 같은 다양한 옵션을 표시할 수 있습니다. 컨트롤에 대한 알림을 통해 개발자는 굵게 표시된 날짜를 지정할 수 있습니다. 대담한 날짜가 무엇을 나타낼지 결정하는 것은 전적으로 개발자의 결정입니다. 예를 들어 굵은 기능을 사용하여 휴일, 약속 또는 사용할 수 없는 날짜를 나타낼 수 있습니다. MFC 6.0 클래스 CMonthCalCtrl은 이 컨트롤을 구현합니다. 대화 상자의 공통 필드는 사용자가 날짜와 시간을 입력할 수 있는 자리입니다.

IE4 컨트롤이 날짜 및 시간 선택기를 제공하기 전에 개발자는 타사 컨트롤을 사용하거나 MFC 편집 컨트롤을 하위 클래스로 사용하여 입력된 날짜가 유효한지 확인하기 위해 중요한 데이터 유효성 검사를 수행해야 했습니다. 다행히도 새로운 날짜 및 시간 선택기 컨트롤은 개발자에게 다양한 스타일과 옵션을 제공하면서 날짜 또는 시간에 대한 사용자를 묻는 고급 컨트롤로 제공됩니다. 예를 들어 날짜는 짧은 형식(8/14/68) 또는 긴 형식(1968년 8월 14일)으로 표시할 수 있습니다. 시간 모드를 사용하면 익숙한 시간/분/초 AM/PM 형식을 사용하여 시간을 입력할 수 있습니다. 대부분의 “오랜” MFC 개발자는 CTime 클래스를 사용하는 데 익숙합니다. 그러나 CTime의 유효한 날짜는 1970년 1월 1일부터 2038년 1월 18일 사이에 날짜로 제한되므로 많은 개발자가 대안을 찾고 있습니다. 한 가지 인기있는 대안은 OLE 자동화 지원을 위해 제공되며 1월 1일부터 9999년 12월 31일까지의 날짜를 처리하는 COleDateTime입니다. 두 클래스 모두 다양한 장단점이 있습니다. 예를 들어 CTime은 일광 절약 시간의 모든 문제를 처리하지만 COleDateTime은 처리하지 않습니다. 많은 개발자는 훨씬 더 큰 범위 때문에 COleDateTime을 선택합니다. 최대값은 2038년이므로 CTime을 사용하는 모든 응용 프로그램은 약 40년 후 재작업해야 합니다.

이러한 제한 사항이 실행되는 것을 확인하려면 MYMFC25A에서 CTime 범위를 벗어난 날짜를 선택합니다.

Posted in Uncategorized