Старый добрый дельфи/билдер. ЧекЛистБокс. Сохранение/восстановление.

В дельфях имеется такой компонент. По сути обычный листбокс, но оснащенный возможностью поставить галочку у каждого элемента списка.
Но вот незадача. Он является простой надстройкой над листбоксом и сохранение/восстановление производится по старому, соответственно значения галочек не сохраняются. На просторах инета поиск по чеклистбоксу в большинстве случаев кидает на перепечатку одной и той же статьи. (которая, к стати тоже взята откуда-то с запада. но там я наткнулся на то что обджект мовед, а дальше не стал искать) Но автор статьи видимо даже не заглядывал в хелп. На самом деле любая запись в чеклистбоксе может иметь три состояния: cbChecked, cbUnchecked и cbGrayed. т.е. «крыжено», «не крыжено» и «серое». (к стати может быть еще и возможны варианты типа серое+крыженое я не разбирался). В общем, пришлось писать свои функции сохранения/загрузки (которые, кстати должны сработать, если предположение о комбинированном состоянии подтвердится.)

P.S. В моем проекте, откуда взят код, несколько окон, причем диалоги лежат на одном, чеклистбокс на другом, а функции на третьем (последствия того что «код под себя» + «по-быстрому на коленке» + «проекту 5 лет, и функционал добавляется периодически»), по этому я мог чего-нибудь недоглядеть и недоправить. Если код не захочет компилиться, то просто посмотрите на что он ругается и удалите/переименуйте лишнее…

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *