Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
1-1120638752
Demidoff
2005-07-06 12:32
2005.07.25
Переворот из книжной в альбомную?


1-1120587319
АлексейС
2005-07-05 22:15
2005.07.25
Как оперировать данными интернет сайта ?


14-1120244761
Alx2
2005-07-01 23:06
2005.07.25
Вид на Delphi из космоса


3-1118390525
testochka
2005-06-10 12:02
2005.07.25
проблема Alias для ODBC for Oracle


14-1120417718
Ломброзо
2005-07-03 23:08
2005.07.25
"Подключение к удалённому рабочему столу"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский