Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.25;
Скачать: CL | DM;

Вниз

Создание 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 вся ветка

Текущий архив: 2005.07.25;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.046 c
3-1118390525
testochka
2005-06-10 12:02
2005.07.25
проблема Alias для ODBC for Oracle


4-1117361598
Demonix
2005-05-29 14:13
2005.07.25
Delphi, создание пользователя в Active Directory


1-1120636210
Ega23
2005-07-06 11:50
2005.07.25
Вопрос по фрэймам:


1-1120929749
tazik
2005-07-09 21:22
2005.07.25
частичное оформление в Вин ХП


14-1120029864
Чай толпой
2005-06-29 11:24
2005.07.25
В витой паре, нa 10 и 100, используются только 4 провода?