Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.217.108.11] |
|
Сообщ.
#1
,
|
|
|
Сделал потомка от CheckListBox. Добавил свойство для autosize по содержимому. Вроде всё ничего, но при выделении пунта странный эффект: при обычном щелчке всё нормально, но если нажать кнопку мыши и не отпускать или после нажатия сдвинуть мышь - выделение спрыгивает на другой пункт.
Причём пункт выделяется тот, который выделился бы при отсутствии автосайза. Пример. В списке 9 пунктов, 3 колонки и размер CLB такой, что строк тоже 3, по-умолчанию ширина колонок 1/3 ширины контрола. Если включить автосайз и размеры установятся как 10, 20 и 70% ширины, то при клике (с удержанием кнопки) на любой строке в первой трети выделение перескочит на первый элемент строки, даже если под курсором 3-я колонка. Добавлено ещё момент, до того как я в MouseDown стал выделять item под курсором, он всегда при клике выделял не тот пункт. В Check попадал и переключал его, а выделялся неправильный пункт. Голову поломал всю. Выделение рисуется в одном из родителей по факту наличия флага odSelected, именно поэтому и стал выделять вручную, ибо нигде не нашёл кто это делает Прикреплённый файлDBCheckListBox.zip (2.85 Кбайт, скачиваний: 164) |