TCheckGroup/ru
From Lazarus wiki
Revision as of 19:13, 10 June 2018 by Useroflazarus (talk | contribs) (Created page with "{{TCheckGroup}} '''TCheckGroup''' image:tcheckgroup.png является элементом управления, который содержит группу элеме...")
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
русский (ru) │
中文(中国大陆) (zh_CN) │
TCheckGroup является элементом управления, который содержит группу элементов TCheckBox, объединенных вместе физически и логически.
Использование
Для использования элемента TCheckGroup на форме, вы можете просто выбрать его на вкладке Standard палитры компонентов и поместить на форму щелчком мыши.
Небольшой пример
В данном примере демонстрируется смена цвета фона формы. Цвет фона определяется добавлением соответствующего компонента цвета:
- создайте новое приложение и поместите TCheckGroup на форму
- в Инспекторе Объектов измените свойство Name с CheckGroup1 на cgRed и заголовок на Red
- добавьте флажки (элементы TCheckBox) для элемента cgRed:
- в Инспекторе Объектов выберите свойство Items элемента cgRed
- щелкните по кнопке [...]; откроется диалоговое окно ввода строк
- напишите одно за другим числа 1 2 4 8 16 32 64 128 и после завершения нажмите кнопку OK
- скопируйте элемент cgRed, щелкнув по нему правой кнопкой мыши и выберите пункт Копировать
- щелкните правой кнопкой мыши по форме и выберите пункт Вставить; в результате появится элемент с именем cgRed1
- теперь измените свойство Name с cgRed1 на cgGreen и свойство Caption на Green
- точно также вставьте ещё элемент и измените свойство Name на cgBlue и свойство Caption на Blue
- всякий раз при щелчках по элементам CheckBox будет меняться цвет:
- в Инспекторе Объектов создайте обработчик события OnItemClick элемента cgRed с помощью щелчка по кнопке [...] рядом с пунктом OnItemClick
- для элементов cgGreen и cgBlue также укажите этот же обработчик события, выбрав cgRedItemClick из раскрывающегося списка
- напишите следующий код в обработчике события:
procedure TForm1.cgRedItemClick(Sender: TObject; Index: integer);
var
i, c: Integer;
begin
c:=$000000; //изначально зададим черный цвет
for i:=0 to 7 do begin //проверяем элементы 0..7 во всех элементах CheckGroup
if cgRed.Checked[i] then c:=c + 1 shl i; //количество значений для красного цвета $000000..$0000FF
if cgGreen.Checked[i] then c:=c + 1 shl (i + 8); //количество значений для зеленого цвета $000000..$00FF00
if cgBlue.Checked[i] then c:=c + 1 shl (i + 16); //количество значений для синего цвета $000000..$FF0000
end;
Color:=c;
end;
- запустите программу. Должно выглядеть так:
См. также