Форум: "WinAPI";
Текущий архив: 2005.07.25;
Скачать: [xml.tar.bz2];
ВнизСоздание CheckListBox средствами WinAPI. Найти похожие ветки
← →
gdaujk © (2005-05-29 01:26) [0]Ну всё вроде понятно из темы.
В VCL это реализовано сл. образом. Создаётся листбокс, икаждый итем в нём перерисовывается, а именно, добавляется стандартное изображение чекбокса, текст сдвигается. Но это очень сложно, особенно если нужно использование визуальных стилей оформления (UXTheme, помнится). И после обрабатывается каждое нажатие на итем.
Может есть варианты попроще, типа какого-нибудь стандартного стиля, о котором я не знаю (тот же ListBox, только с галочками)?
PS: о возможности такого варианта можно предположить, заня очень неуклюжую реализацию в VCL SpinButton"а и SpinEdit"а.
← →
KilkennyCat © (2005-05-29 01:42) [1]Может, это поможет: http://www.rsdn.ru/Forum/Message/86259.htm
← →
Marser © (2005-05-29 01:58) [2]Можно просто использовать ScrollBox в качестве контейнера для CheckBox и не заморачиваться с перерисовкой. AFAIK, готового контрола нет.
← →
gdaujk © (2005-05-29 02:14) [3]KilkennyCat [1]
Я так пробовал, че-то не выходит. LVS_EX_CHECKBOXES просто не оказывает никакого действия. Этот стиль случаем не конфликтует с др стилями?
Marser [2]
Чё то не приходит в голову, каким образом связаны ScrollBox и CheckBox...
← →
gdaujk © (2005-05-29 02:26) [4]Вариант с LVS_EX_CHECKBOXES всё-таки получается, но у каждого checkbox"а чёрные правый, левый и нижний края. Как быть с этим?
И как узнать, что нажат Checkbox?
← →
gdaujk © (2005-05-29 02:28) [5]Вариант с LVS_EX_CHECKBOXES всё-таки получается, но у каждого checkbox"а чёрные правый, левый и нижний края. Как быть с этим?
И как узнать, что нажат Checkbox?
← →
gdaujk © (2005-05-29 02:35) [6]Чёрные края - это в зависимости от визуального стиля. Только как от них избавится - остаётся вопросом...
← →
gdaujk © (2005-05-29 02:47) [7]ListView_GetCheckState - чего делаит? Узнаёт, есть ли калочка в чекбоксе? В документации ничего нету :-(
← →
gdaujk © (2005-05-29 03:09) [8]ListView_SetBkImage - ??? Одни вопросы :-)
← →
gdaujk © (2005-05-29 06:13) [9]На скока я понял, в VCL тоже столкнулись с этой проблеммой, только при загрузке изображения Checkbox"а. У этого изображения в зависимости от используемого стиля края могут быть чёрными. Их и надо закрасить в прозрачный/белый цвет. В VCL рисуют рамочку вокруг изображения Checkbox"а. При этом часть галочки, которая нарисована в этой рамке тоже закрашивается. А лучше было бы заменить только чёрные пикселы на прозрачные...
Так вот вопрос - как сделать края прозрачными в моём случае?
← →
TUser © (2005-05-29 07:43) [10]Возможно, проще окажется использовать ListVeiw
← →
Marser © (2005-05-29 10:00) [11]
> Чё то не приходит в голову, каким образом связаны
> ScrollBox и CheckBox...
GroupBox - сделать родительским окном для CheckBox. И делоф...
← →
Игорь Шевченко © (2005-05-30 11:11) [12]
> Создание CheckListBox средствами WinAPI
Берется исходный текст, изучается...
← →
gdaujk © (2005-05-30 11:42) [13]Игорь Шевченко [12]
Исходный текст чего? VCL? Меня не устраивает это вариант, см. выше...
← →
Игорь Шевченко © (2005-05-30 11:55) [14]gdaujk © (30.05.05 11:42) [13]
> Меня не устраивает это вариант, см. выше...
А кто-то мешает рисовать с использованием стилей ?
← →
gdaujk © (2005-05-30 12:10) [15]>>Игорь Шевченко [14]
gdaujk [0]
Может есть варианты попроще, типа какого-нибудь стандартного стиля
ListView ведь предусматривает создание Gheckbox, только как ими пользоваться не понятно. Самое непонятное - как избавится от чёрных краёв...
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.07.25;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.015 c