wxWidgets wxTreeCtrl c checkbox
От: N0dwis Украина  
Дата: 21.03.07 14:46
Оценка:
Как в wxWidgets сделать чтобы в окне wxTreeCtrl были пункты с checkbox и как с ними работать?
Судя по документации он их вообще не поддерживает!
Re: wxWidgets wxTreeCtrl c checkbox
От: t_rex Украина http://www.wxwidgets.info
Дата: 21.03.07 21:13
Оценка:
Здравствуйте, N0dwis, Вы писали:

N>Как в wxWidgets сделать чтобы в окне wxTreeCtrl были пункты с checkbox и как с ними работать?

N>Судя по документации он их вообще не поддерживает!

Подобный функционал вполне неплохо можно организовать, обрабатывая мышиные клики на иконке (попутно юзая HitTest для определения области, в которой произведено нажатие) и изменяя индекс иконки узла дерева.
Re[2]: wxWidgets wxTreeCtrl c checkbox
От: N0dwis Украина  
Дата: 22.03.07 05:59
Оценка:
Здравствуйте, t_rex, Вы писали:

_>Подобный функционал вполне неплохо можно организовать, обрабатывая мышиные клики на иконке (попутно юзая HitTest для определения области, в которой произведено нажатие) и изменяя индекс иконки узла дерева.


Я думал об этом, в принципе — это выход, но мне очень хочется, чтобы у каждого пункта была и просто иконка!
Я пишу что-то типа системы для бэкапа данных и мне нужно на дереве каталогов выделять только те, которые нужно архивировать. Так вот, я хочу, чтобы у каталогов была одна иконка, у файлов — другая, и отдельно был checkbox для выделения и того и другого. Если использовать этот медод, то иконки прийдется совмещать!
Re[3]: wxWidgets wxTreeCtrl c checkbox
От: t_rex Украина http://www.wxwidgets.info
Дата: 22.03.07 10:16
Оценка:
Здравствуйте, N0dwis, Вы писали:

N>Я думал об этом, в принципе — это выход, но мне очень хочется, чтобы у каждого пункта была и просто иконка!


Еще, как вариант, поковырять исходники generic-версии wxTreeCtrl и wxCheckListBox и сделать отрисовку чекбоксов вручную
Или же посмотреть в сторону wxTreeListCtrl и во второй колонке отрисовывать чекбоксы (хотя это немного странно будет выглядеть)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.