Установка флажка элемента CTreeCtrl в частичное состояние - PullRequest
3 голосов
/ 12 февраля 2010

Сначала я добавляю TVS_EX_PARTIALCHECKBOXES в расширенные стили CTreeCtrl:

TreeView_SetExtendedStyle(tree->GetSafeHwnd(), TVS_EX_PARTIALCHECKBOXES, TVS_EX_PARTIALCHECKBOXES);

Теперь, как мне на самом деле установить любой элемент в это состояние? Там, кажется, нет никакой документации об этом. Я догадался, что, поскольку проверка и снятие отметки работает путем изменения изображения состояния элемента на 1 или 2, я могу попытать счастья с 3:

tree->SetItemState(tree->GetFirstVisibleItem(), INDEXTOSTATEIMAGEMASK(3), TVIS_STATEIMAGEMASK);

Конечно, это было бы слишком просто, просто изображение исчезло.

1 Ответ

0 голосов
/ 12 февраля 2010

Возможно, вам нужно использовать tree->SetCheck() вместо tree->SetItemState(), попробуйте установить состояние проверки на 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...