2011-04-18 5 views

답변

4

개별 트리 항목의 체크 박스를 켜고 끄려면 TVM_SETITEM messages을 보내야합니다.이 트리는 TreeView의 항목에 대한 속성을 설정하는 데 사용됩니다.

설명서에 따르면 wParam은 0이어야하며 lParam은 새 항목 속성이 포함 된 TVITEM structure에 대한 포인터입니다.

따라서 진짜 전투는 TVITEM 구조가 적절하게 채워지는 것입니다. 중요한 부분은 다음과 같습니다.

  • hItem 구성원은 수정하려는 트리 항목의 핸들을 포함해야합니다.
  • 구성원은 으로 설정해야합니다. 이는 statestateMask 구성원이 유효 함을 나타냅니다. 그것들은 체크 박스를 켜고 끄는 데 사용할 것입니다.
  • state 구성원을 0으로 설정할 수 있습니다. 지정된 트리 항목의 확인란을 숨 깁니다.
    트리 항목의 확인란을 표시하려면이 구성원을 1 << 12으로 설정하십시오. 자세한 내용은 docs을 참조하십시오.
  • 회원의은 항목의 상태 이미지 색인을 변경한다는 것을 나타 내기 위해 TVIS_STATEIMAGEMASK으로 설정해야합니다. 당신 만 statestateMask 멤버를 사용하는 것을 나타 내기 위해서 mask을 설정 한 이후

, 당신은 행복하게 회원의 나머지 부분을 무시할 수 있습니다.

마지막으로 TVITEM 구조가 설정되면 표준 SendMessage 함수 또는 TreeView_SetItem macro 함수를 사용하여 트리 항목에 메시지를 보낼 수 있습니다.

(물론, 전체 트 리뷰는 일을 위의에 대한 순서로 TVS_CHECKBOXES style 설정이 있어야합니다!하지만 당신은 이미 그 작업을 수행하는 방법을 알아 냈다고 말했다.)

관련 문제