cpropertysheet 예제

탭 레이블이 있는 이미지를 사용하려면 먼저 탭 컨트롤에서 사용할 이미지가 있는 CImageList 클래스를 만들어야 합니다. CTabCtrl 클래스의 SetItem 메서드를 사용하면 항목의 이미지를 설정해야 합니다. 다음은 예제입니다: nStyle 속성 시트 제목의 스타일을 지정합니다. 스타일은 0 또는 PSH_PROPTITLE로 지정해야 합니다. 스타일이 PSH_PROPTITLE로 설정된 경우 캡션으로 지정된 텍스트 다음의 단어 “속성”이 나타납니다. 예를 들어 SetTitle(“단순”, PSH_PROPTITLE)을 호출하면 “단순 속성”의 속성 시트 캡션이 생성됩니다. 속성 시트 또는 마법사 대화 상자를 만들고 속성 시트 구성 요소를 사용하여 MFC 클래스와 상대 연결을 수행하거나 이미 만든 항목을 사용하여 조정 가능하도록 합니다. 대화 상자 크기를 조정하기 위해 창 스타일을 변경할 필요가 없습니다. 런타임시 레이블을 변경하려면 탭 컨트롤에 대한 포인터를 구한 다음 탭 컨트롤의 SetItem 함수를 사용하기만 하면 됩니다. 다음은 탭의 레이블을 변경하는 것과 유사합니다. 다음은 예제 코드입니다: 비동기 예외 처리 모델로 컴파일하는 경우 운영 체제에서 이 예외를 처리해야 합니다. 예외 처리 모델에 대한 자세한 내용은 /EH(예외 처리 모델)를 참조하십시오. 이 경우 캐치가 catch(…)와 같은 모든 예외를 처리하는 C++ try-catch 블록이 있는 cPropertySheet::DoModal에 대한 호출을 래핑하지 마십시오.

이 블록은 운영 체제에 대한 예외를 처리하고 예기치 않은 동작을 일으킵니다. 그러나 액세스 위반 예외가 운영 체제로 전달되는 특정 예외 유형 또는 구조화 된 예외 처리와 함께 C ++ 예외 처리를 안전하게 사용할 수 있습니다. 지금까지는 좋았어요. 이제 확인, 취소 및 적용 단추에 대한 동작을 변경하고 싶습니다. 예를 들어 사용자가 확인 또는 취소 단추를 클릭하면 속성 시트를 닫는 대신 다른 작업을 수행할 수 있습니다. 다음은 이러한 종류의 작업을 수행하는 데 사용할 수 있는 일반적인 템플릿입니다. 이 예제는 C++ 래핑된 클래스의 도움을 받아 예제입니다. CPropertyPage 및 CPropertySheet실제로 래핑 몇 가지 기본 데이터 구조. 다음 섹션에서는 이러한 데이터 구조를 볼 수 있습니다.

이 구조를 사용하여 속성 시트가 생성된 후 DoModal 멤버 함수와 함께 표시되기 전에 속성 시트의 모양을 초기화합니다. 예를 들어 m_psh의 dwSize 멤버를 속성 시트에 사용할 크기로 설정합니다. 우리는 이전 두 동영상에 표시된 것과 동일한 절차를 따라 예제의 두 번째 페이지를 만듭니다. 이제 속성 대화 상자에 대한 속성 페이지1 및 속성 페이지2가 준비되었습니다. 두 번째 속성 페이지의 디자인은 다음과 같습니다: 이 게시물은 기존 MFC 프로젝트에서 작업하고 있으며 응용 프로그램에 탭된 대화 상자를 추가하려고 한다고 가정합니다. 이 예제는 Visual Studio 2008에서 만들어졌습니다. 여기에 다른 게시물의 대부분처럼, 여분의 종소리와 휘파람의 방법으로 많이없습니다, 당신이 시작하는 아주 간단한 예… VS2003 다운로드는 여기에서 확인할 수 있습니다. 다음 예제에서는 Construct를 호출할 상황을 보여 줍니다. 클래스 생성자 중 하나가 아직 호출되지 않은 경우 이 멤버 함수를 호출합니다. 예를 들어 CPropertySheet 개체의 배열을 선언하거나 할당할 때 Construct를 호출합니다. 배열의 경우 배열의 각 멤버에 대해 Construct를 호출해야 합니다.

페이지의 UI 요소가 변경될 때 속성 대화 상자의 “적용” 버튼이 활성화됩니다.

Posted in Uncategorised