мета-данные страницы
  •  

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
unilinescustomization [05.09.2022 13:52]
Lingri
unilinescustomization [06.09.2022 07:02] (текущий)
Lingri
Строка 1: Строка 1:
 ====== Настройка внешнего вида и поведения UniLines ====== ====== Настройка внешнего вида и поведения UniLines ======
-Для UniLines-а уже разработаны и предусмотрены различные варианты кастомизации его работы.+Для ​**UniLines**-а уже разработаны и предусмотрены различные варианты кастомизации его работы.
  
 В целом, их можно разделить на следующие группы:​ В целом, их можно разделить на следующие группы:​
Строка 9: Строка 9:
  
 ===== Работа с выборными элементами (представление элементов как чекбоксов)===== ===== Работа с выборными элементами (представление элементов как чекбоксов)=====
-UniLines позволяет отобразить элементы в виде галочек. Например,​ как это сделано в модуле DiscExt.pas (внешняя дисконтная схема),​ для отображения таблицы со скидками на каждую группу слуг.+**UniLines** позволяет отобразить элементы в виде галочек. Например,​ как это сделано в модуле ​**DiscExt.pas** (внешняя дисконтная схема),​ для отображения таблицы со скидками на каждую группу слуг.
  
 {{:​pasted:​20220905-101535.png}} {{:​pasted:​20220905-101535.png}}
  
-Включение галочного представления осуществляется за счёт опции ShowCheckBoxes (по умолчанию False).+Включение галочного представления осуществляется за счёт опции ​**ShowCheckBoxes** (по умолчанию ​**False**).
  
-Включение этой опции, по сути, для каждой ноды VST выставляет свойство CheckType := ctCheckBox.+Включение этой опции, по сути, для каждой ноды ​**VST** выставляет свойство ​**CheckType := ctCheckBox**.
  
-Опция IsTriStateCheckBoxes отвечает за возможность отображать "​смешанное"​ состояние чекбокса (когда у дочерних элементов как стоят галочки,​ так и не стоят):​+Опция ​**IsTriStateCheckBoxes** отвечает за возможность отображать "​смешанное"​ состояние чекбокса (когда у дочерних элементов как стоят галочки,​ так и не стоят):​
  
 {{:​pasted:​20220905-101950.png}} {{:​pasted:​20220905-101950.png}}
Строка 65: Строка 65:
 </​sxh>​ </​sxh>​
  
-Опция ShowCustomCheckBoxes позволяет подгрузить специальные иконки для чекбоксов. У нас они берутся из ImgDMForm.ilChecksTree32:​+Опция ​**ShowCustomCheckBoxes** позволяет подгрузить специальные иконки для чекбоксов. У нас они берутся из **ImgDMForm.ilChecksTree32**:
  
 <sxh Delphi> <sxh Delphi>
Строка 85: Строка 85:
 </​sxh>​ </​sxh>​
  
-Для работы с чекбоксами в рамках UniLines реализованы на текущий момент следующие функции/​процедуры:​+Для работы с чекбоксами в рамках ​**UniLines** реализованы на текущий момент следующие функции/​процедуры:​
  
   * function GetCheckedValues(const ValueName: string; GetSQLStr: boolean = True; Delimiter: string = ','​):​ string; - через указанный разделитель собирает все значения ValueName, у которых отмечены галочки; ​   * function GetCheckedValues(const ValueName: string; GetSQLStr: boolean = True; Delimiter: string = ','​):​ string; - через указанный разделитель собирает все значения ValueName, у которых отмечены галочки; ​
Строка 93: Строка 93:
   * procedure Inversion; - инвертировать галочки у всех нод.   * procedure Inversion; - инвертировать галочки у всех нод.
  
-Изменение галочек осуществляется через свойство ноды CheckState, например:​+Изменение галочек осуществляется через свойство ноды ​**CheckState**, например:​
 <sxh Delphi> <sxh Delphi>
 procedure TUniLinesFrame.CheckAll;​ procedure TUniLinesFrame.CheckAll;​
Строка 113: Строка 113:
  
 ===== Управление выбранными элементами ===== ===== Управление выбранными элементами =====
-Выбранной нодой, если по-простому,​ можно считать ту ноду, по которой случился клик. Через ctrl выбранных нод может оказаться несколько:​+Выбранной нодой, если по-простому,​ можно считать ту ноду, по которой случился клик. Через ​**ctrl** выбранных нод может оказаться несколько:​
  
 {{:​pasted:​20220905-105127.png}} {{:​pasted:​20220905-105127.png}}
  
-Основное управление выбранными нодами осуществляется через VST, например ​+Основное управление выбранными нодами осуществляется через ​**VST**, например ​
 <sxh Delphi> <sxh Delphi>
 VST.Selected[LastNode] := True; VST.Selected[LastNode] := True;
Строка 132: Строка 132:
  
 ===== Кастомизация управляющих кнопок ===== ===== Кастомизация управляющих кнопок =====
-Для UniLines-а предусмотрено несколько методов,​ позволяющих добавить кастомные кнопки и элементы меню, чтобы можно было сделать уникальное поведение этого фрейма на разных формах,​ без необходимости изменения в дизайн-тайме.+Для ​**UniLines**-а предусмотрено несколько методов,​ позволяющих добавить кастомные кнопки и элементы меню, чтобы можно было сделать уникальное поведение этого фрейма на разных формах,​ без необходимости изменения в дизайн-тайме.
  
 ==== Добавление элементов выпадающего меню в заголовок ==== ==== Добавление элементов выпадающего меню в заголовок ====
Строка 180: Строка 180:
  
 ==== Добавление меню в выпадающий список дерева ==== ==== Добавление меню в выпадающий список дерева ====
-Имеется в виду окно, возникающее при правом клике на элементе UniLines+Имеется в виду окно, возникающее при правом клике на элементе ​**UniLines**
  
 {{:​pasted:​20220905-130209.png}} {{:​pasted:​20220905-130209.png}}
Строка 191: Строка 191:
 </​sxh>​ </​sxh>​
  
-  * ACaption - Название пункта меню; +  ​* **ACaption** - Название пункта меню; 
-  * AOnClick - событие при клике;​ +  ​* **AOnClick** - событие при клике;​ 
-  * AImageIndex - номер иконки (берётся из ImgDMForm.ilAll);​ +  ​* **AImageIndex** - номер иконки (берётся из **ImgDMForm.ilAll**); 
-  * AVisible - видимость пункта меню; +  ​* **AVisible** - видимость пункта меню; 
-  * DoHookPopup - позволяет отрисовывать меню в скине.+  ​* **DoHookPopup** - позволяет отрисовывать меню в скине.
  
 Из интересного тут появляется возможность рулить видимостью пункта меню. Из интересного тут появляется возможность рулить видимостью пункта меню.
Строка 240: Строка 240:
 </​sxh>​ </​sxh>​
  
-  * ACaption - название кнопки;​ +  ​* **ACaption** - название кнопки;​ 
-  * AAfterPosition - позиция кнопки (есть значения tpsEndButtons = 0 - после всех основных кнопок и tpsEndCheckbox = 1 - после всех чекбоксов);​ +  ​* **AAfterPosition** - позиция кнопки (есть значения tpsEndButtons = 0 - после всех основных кнопок и tpsEndCheckbox = 1 - после всех чекбоксов);​ 
-  * AImageIndex - индекс картинки,​ берётся из ImgDMForm.ilAll;​ +  ​* **AImageIndex** - индекс картинки,​ берётся из ImgDMForm.ilAll;​ 
-  * AOnClick - событие нажатия;​ +  ​* **AOnClick** - событие нажатия;​ 
-  * AIsCheck - должна ли кнопка быть чекбоксом.+  ​* **AIsCheck** - должна ли кнопка быть чекбоксом.
  
 Пример:​ Пример:​
Строка 271: Строка 271:
 Под стандартными подразумеваются кнопки "​Создать",​ "​Изменить",​ "​Редактировать",​ "​Печать"​ и прочие подобные,​ а также соответствующие им элементы выпадающего меню. Под стандартными подразумеваются кнопки "​Создать",​ "​Изменить",​ "​Редактировать",​ "​Печать"​ и прочие подобные,​ а также соответствующие им элементы выпадающего меню.
  
-В UniLines-е предусмотрено множество вариаций по их отображению,​ также как и отображение целых панелей. Подробно рассматривать не будем, названия должны понятно отражать их суть.+В **UniLines**-е предусмотрено множество вариаций по их отображению,​ также как и отображение целых панелей. Подробно рассматривать не будем, названия должны понятно отражать их суть.
  
 <sxh Delphi> <sxh Delphi>
Строка 292: Строка 292:
 ===== Текстовые опции===== ===== Текстовые опции=====
  
-Также, в UniLines-е возможно настраивать ячейки с информацией,​ правила её отображения и возможность изменения.+Также, в **UniLines**-е возможно настраивать ячейки с информацией,​ правила её отображения и возможность изменения.
  
 ==== Настройка отображения ==== ==== Настройка отображения ====
Строка 306: Строка 306:
 </​sxh>​ </​sxh>​
  
-Таким образом,​ в стандартном ULF разрешается только многострочность и ручная регулировка высоты ноды. Но при включении IsHtml становится возможным серьёзно управлять отображением текста.+Таким образом,​ в стандартном ​**ULF** разрешается только многострочность и ручная регулировка высоты ноды. Но при включении ​**IsHtml** становится возможным серьёзно управлять отображением текста.
  
 ==== Настройка редактирования ==== ==== Настройка редактирования ====
Строка 323: Строка 323:
  
  
 +[[https://​agbis.getcourse.ru/​pl/​teach/​control/​lesson/​view?​id=254286906|Пройти тест]]
 +
 +[[https://​doc.agb.is/​develop/​unilines|Назад]]