FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9176
Вход
CheckList

Наверное многие сталкивались с проблемой, когда нужно показать список для выбора каких-либо позиций или высветить список сотрудников или товаров, где необходимо было отметить те или иные позиции. Наверняка многие использовали для этого объект GRID или ActiveX. Но я принципиально отказываюсь от использования ...


 
Прислал: SpyFox   Категория: Интерфейс


CheckList

Наверное многие сталкивались с проблемой, когда нужно показать список для выбора каких-либо позиций или высветить список сотрудников или товаров, где необходимо было отметить те или иные позиции. Наверняка многие использовали для этого объект GRID или ActiveX. Но я принципиально отказываюсь от использования GRID, несмотря на то, что этот объект и обладает очень большими возможностями, в нем заложено столько же и всяких непредсказуемых моментов, которые неизвестно когда вылетят.От ActiveX - объектов я стараюсь также отказываться, когда это возможно, хотя и использую их в некоторых случаях.
Так вот, когда у меня возникла потребность в таком списке, то я решил использовать для этого объект LISTBOX, создав на основе его класс CHEKCLISTBOX, добавил в него несколько свойств и методов. Для отображения меток я использовал картинки BMP, вставляемые для каждой строки. Чтобы посмотреть как это работает, запустите форму SAMPLE.

В класс, в дополнении к базовому классу, добавлены следующие свойства:
CheckBMP- содержит имя файла с картинкой для отмеченых строк;
UNCheckBMP - содержит имя файла с картинкой для не отмеченных строк.

Также добавлены следующие методы:

AddMethod - метод добавляет строки, передаются следующие параметры -
tlCheck - Содержит .T., если строка должна быть отмечена и наборот tcCol1, tcCol2, tcCol3, tcCol4 -значения четырех столбцов, если они определены. Checked - принимает в качестве параметра номер строки и возвращает .T. если она отмечена. SetCheck - принимает в качестве параметра номер строки и устанавливает на нее метку.
UNSetCheck - принимает в качестве параметра номер строки и снимает с нее метку.
RET_COL_VAL - принимает в качестве параметра номер строки и номер колонки и возвращается ее значение.

Также используются стандартные методы Click, DblClick, RightClick, поэтому при их использовании необходимо вписывать в них dodefault(). При нажатии правой кнопки выводиться меню. Следует также заметить, что для выбора, т.е. отметки строки или ее снятия мышью можно использовать два варианта: сделать двойной клик на строке или щелкнуть один раз на картинке. Надеюсь, что это кому-то пригодиться.


 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.842) Вложение [5.42]kb
Дополнения пользователей
CheckList
[+][?]
Aries
24.12.02 14:50:07

И так загрузил себе примерчик но немогу с ним разобратся. У меня не появляются картинки, и не
выделяются строки. Подскажите в чем причина или что я делаю не так
Denis Nazarov
17.10.03 10:10:13

Попробывал, все получилось. Спасибо за данный клас.
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика