| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > TreeView и checkbox с 3 состояниями |
| Автор: Qwe2 16.8.2012, 15:17 |
| Нужно сделать TreeView с checkbox'ами с тремя состояниями. Вроде бы в этом случае вмсето чекбоксов по умолчанию нужно использовать иконки: то есть заполнить image-list 3 иконками галок. Где-то видел, что эти иконки можно извлечь из системы (из обычного чекбокса) и ими заполнить image-list. Чтобы не файлы ico|bmp использовать. Как это можно сделать? |
| Автор: GremlinProg 16.8.2012, 15:22 | ||
можно нарисовать:
или с DFCS_BUTTONCHECK vs DFCS_HOT, DFCS_PUSHED, DFCS_CHECKED |
| Автор: Qwe2 16.8.2012, 16:30 |
| А как добавить в image-list? |
| Автор: GremlinProg 16.8.2012, 16:57 |
нарисовать в битмап и добавить этот битмап но можно просто рисовать на custom-draw TreeView, без image-list'а |
| Автор: feodorv 17.8.2012, 00:38 | ||
Честно говоря, тему подзабыл. То, что помню:
Код примерно такой:
Помню, что мне не удавалось заставить систему саму переключить состояния чекбоксов, и я не долго думая реализовал переключение самостоятельно... |
| Автор: Qwe2 17.8.2012, 08:51 | ||
Пробую добавить иконки в свой image-list, но выводится черные квадраты вместо галок, где я не прав?
|
| Автор: GremlinProg 17.8.2012, 10:11 |
1. GetDC( NULL ); 2. фон? 3. ReleaseDC( NULL, dc ); 4. проверка результирующих значений после вызовов функций 5. поэкспериментировать с флагами DrawFrameControl |
| Автор: Qwe2 19.8.2012, 11:34 |
| Можно сказать получилось, только все выглядит не так, как хотелось бы: (так у меня) http://s2.ipicture.ru/ (так нужно + 3 состояние в тех же тонах) http://s2.ipicture.ru/ |
| Автор: GremlinProg 19.8.2012, 17:15 |
| ну, это уже DrawThemeBackground, там тоже масса флагов, в том числе и 3-стейт чекбокса |
| Автор: Qwe2 21.8.2012, 16:59 |
| Отчасти получилось, и просто в WM_PAINT'е отрисовать, и в image-list добавить, но! в Windows XP все равно черные квадраты вместо иконок (в image-liste)... Это с чем может быт связано? http://s1.ipicture.ru/ |