2009-07-20 7 views
0

MFC를 처음 사용하며 "MFC 기능 팩"의 새로운 기능과 약간 혼동됩니다. 마법사를 통해 이제 IDE처럼 보이는 응용 프로그램이 있습니다 - 왼쪽에는 도킹 가능한 파일 탐색기가 있고 오른쪽에는 도킹 가능한 속성 창이 있습니다. ON_WM_LBUTTONDBLCLK 및 GetItemText()를 통해 파일 탐색기 창에서 선택한 항목을 가져올 수 있습니다.MFC 기능 팩 - 속성 표 컨트롤을 업데이트하는 방법

질문 : 속성 창은 파일 탐색기 창에서 항목을 클릭 한 후 "업데이트"되어야합니다. 전의. 트리 컨트롤에서 항목 "버튼"을 클릭하면 속성 창에 "이미지", "글꼴"및 "색상"이 표시됩니다. 어떻게 할 수 있습니까? propertygridCtrl의 내용을 어떻게 업데이트합니까?

답변

0

속성 표를 채우려면 마법사에서 생성 된 내용을 살펴보십시오. 'item button'클릭 이벤트에 대한 핸들러를 설정하고 그리드 내용을 지우고 다시 채우십시오. 분명한 대답 인 것 같아서 질문을 오해했을 수도 있습니다.

+0

그럼 그 논리가 바로 뒤에 있습니다. 지우기 및 채우기 CPropertiesWnd :: OnProperties1() ON_COMMAND (ID_PROPERTIES1, OnProperties1) 같이 메시지 맵에서 호출되는 모눈 내용을 채울 수 있어요. 의미는 트리 항목을 클릭 한 후 CViewTree 클래스에서 OnProperties1()을 호출하려고합니다. 어떻게 afx_msg 무효 OnProperties1() 호출합니까? – Owen

+0

어, 다른 모든 메서드 및 함수와 마찬가지로 호출합니다. OnProperties1(); ? 다른 모든 기능과 마찬가지로 기능이며, 메시지 처리기에서 호출해도 수동으로 호출 할 수 있습니다. – Roel

+0

함수처럼 afx_msg를 호출 하시겠습니까? 흠 ... 다른 클래스에서 호출하는 경우에는 그렇게 작동하지 않습니다. 당신은 분명히 오류가 발생합니다 ... – Owen

0

난이도가 어디인지 모르겠다. CMFCPropertyGrid에서 파생 된 클래스를 가지고, 공용 멤버 함수를 추가하여 하나의 매개 변수를 갖는 데이터를 업데이트하십시오. 선택한 요소를 매개 변수로 사용하여 파일 탐색기 창에서 해당 함수를 호출하십시오.

사용자가 선택한 항목을 변경한다는 사실을 처리하기 위해 잘못 선택했을 수 있습니다. 어떤 클래스가 "파일 탐색기"컨트롤인지는 모르겠지만 "클릭"또는 "LButton"대신 "항목 변경"을 사용하여 선택한 항목이 다른 방법으로 변경할 수 있습니다. 화살표 키!

관련 문제