mfc propertygrid 예제

이제 이 속성 표시를 표시하기 위해 속성 그리드 관리자에게 알려주기만 하면 됩니다. 이 예제에서는 헤더 컨트롤을 활성화하고, 설명 영역을 활성화하고, 속성 그리드 컨트롤의 모양을 설정하는 방법을 보여 줍니다. 또한 이 예제에서는 컨트롤이 포함된 모든 속성을 속성 이름으로 정렬하는 컨트롤에 대한 알파벳 모드를 설정하는 방법과 속성 그리드 컨트롤의 다양한 요소에 대한 사용자 지정 색상을 설정하는 방법을 보여 주었습니다. 이 예제는 새 컨트롤 샘플의 일부입니다. Visual C++에서 MFC 기능 팩은 속성 그리드 컨트롤을 제공하지만 정기적으로 묻는 질문 중 하나는 사용자가 변경한 후 속성을 반환하는 방법입니다(stackoverflow.com 참조). 문제의 일부는 COLEVariant은 프레임 워크에서 반환 형식이지만 이중 또는 CString을 원한다면 어떻게해야합니까? 이 샘플은 마지막 예제에서 만든 CTestPropertyHolder 클래스 위에 빌드됩니다. 먼저 CTestPropertyHolder를 상속하는 자식 클래스를 만들어 보겠습니다. 그러나 나는 질문이 @Edmund : 나는 m_wndPropListLocation 생성 된 마법사 코드의 일부라고 생각합니다. Prof-UIS 속성 그리드는 두 개 이상의 개체의 속성을 동시에 표시하고 편집하는 기능을 제공합니다.

하나 이상의 개체에 대해 값이 다른 일부 속성은 특별히 표시됩니다. 속성을 수정하여 속성 그리드에 속성이 표시되는 모든 객체에 대해 동일한 속성을 수정합니다. 여러 개체의 특성 결합 작업은 속성 저장소의 Combine() 메서드와 함께 수행됩니다. 컨트롤이 계층적으로 표시되는 경우 그룹 이름은 그룹 위의 행에 범주 제목으로 표시됩니다. . 모양의 느낌과 모양은 gud가 아닙니다 (VB 양식 모양처럼 간단합니다) bPropsOnly 매개 변수가 FALSE인 경우 반환 값은 항상 NULL입니다. 그러나 지정된 점이 설명 영역에 있는 경우 pnArea 매개 변수는 CMFCPropertyGridProperty::ClickDescription으로 설정됩니다. Prof-UIS 속성 그리드는 두 개 이상의 개체의 속성을 표시하고 편집하는 기능을 제공합니다. 각 개체에는 해당 속성 저장소(CExtPropertyStore 클래스)에서 설명하는 고유한 속성 트리가 있습니다.

CExtPropertyStore의 별도 인스턴스를 만들고 여러 개체의 속성을 결합하여 속성 그리드에 결합된 속성 저장소를 표시할 수 있습니다. 속성 그리드 제어. DescriptionSet() 메서드를 사용하여 속성 범주 및 속성 값에 대한 팁 텍스트를 설정하고 팁 텍스트가 선택한 범주 또는 값에 대해 자동으로 자동으로 표시됩니다. 프레임워크가 현재 속성 그리드 컨트롤을 표시하는 데 사용하는 내부 CMFCHeaderCtrl 개체를 검색합니다. 이 컨트롤의 모든 속성의 기본 클래스를 CMFCPropertyGridProperty라고 합니다. 이 클래스에서 파생하여 더 많은 속성을 추가합니다. 각 CMFCPropertyGridProperty는 추가 하위 속성을 취할 수 있으며, 이 속성은 추가 하위 속성을 다시 취할 수 있으며, 이로 인해 추가 하위 속성이 추가로 추가로 수행될 수 있습니다… 그래서 좀 나무 구조를 만든다.