CheckList

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

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(). При нажатии правой кнопки выводиться меню. Следует также заметить, что для выбора, т.е. отметки строки или ее снятия мышью можно использовать два варианта: сделать двойной клик на строке или щелкнуть один раз на картинке. Надеюсь, что это кому-то пригодиться.

Автор: SpyFox

Автор публикации

не в сети 21 год

SpyFox

0
Комментарии: 0Публикации: 4Регистрация: 07-09-2000
0
Вложенные файлы
#
Тип файла
Размер
Название
1 .zip 5,42 КБ chk
Оставить комментарий
Авторизация
*
*
Генерация пароля