Sign in Join
Wiki copytemporary

TCheckGroup/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: TCheckGroup/ru

OldNewLine
1+**TCheckGroup** ![](/wiki-images/1/1b/Tcheckgroup.png) является элементом управления, который содержит группу элементов [[TCheckBox/ru|TCheckBox]], объединенных вместе физически и логически.
2+
3+## Использование
4+
5+Для использования элемента **TCheckGroup** на [[TForm/ru|форме]], вы можете просто выбрать его на вкладке [[Standard tab/ru|Standard]] [[Component Palette/ru|палитры компонентов]] и поместить на форму щелчком мыши.
6+
7+### Небольшой пример
8+
9+В данном примере демонстрируется смена цвета фона формы. Цвет фона определяется добавлением соответствующего компонента цвета:
10+
11+- создайте новое приложение и поместите **TCheckGroup** на форму
12+- в Инспекторе Объектов измените свойство *Name* с *CheckGroup1* на *cgRed* и заголовок на *Red*
13+- добавьте флажки (элементы [[TCheckBox/ru|TCheckBox]]) для элемента *cgRed*:
14+ - в Инспекторе Объектов выберите свойство *Items* элемента *cgRed*
15+ - щелкните по кнопке \[...\]; откроется диалоговое окно ввода строк
16+ - напишите одно за другим числа *1 2 4 8 16 32 64 128* и после завершения нажмите кнопку *OK*
17+- скопируйте элемент *cgRed*, щелкнув по нему правой кнопкой мыши и выберите пункт *Копировать*
18+- щелкните правой кнопкой мыши по форме и выберите пункт *Вставить*; в результате появится элемент с именем *cgRed1*
19+- теперь измените свойство *Name* с *cgRed1* на *cgGreen* и свойство *Caption* на *Green*
20+- точно также вставьте ещё элемент и измените свойство *Name* на *cgBlue* и свойство *Caption* на *Blue*
21+- всякий раз при щелчках по элементам *CheckBox* будет меняться цвет:
22+ - в Инспекторе Объектов создайте обработчик события *OnItemClick* элемента *cgRed* с помощью щелчка по кнопке \[...\] рядом с пунктом *OnItemClick*
23+ - для элементов *cgGreen* и *cgBlue* также укажите этот же обработчик события, выбрав *cgRedItemClick* из раскрывающегося списка
24+ - напишите следующий код в обработчике события:
25+
26+``` pascal
27+procedure TForm1.cgRedItemClick(Sender: TObject; Index: integer);
28+var
29+ i, c: Integer;
30+begin
31+ c := $000000; // изначально зададим черный цвет
32+ for i := 0 to 7 do begin // проверяем элементы 0..7 во всех элементах CheckGroup
33+ if cgRed.Checked[i] then c := c + 1 shl i; // количество значений для красного цвета $000000..$0000FF
34+ if cgGreen.Checked[i] then c := c + 1 shl (i + 8); // количество значений для зеленого цвета $000000..$00FF00
35+ if cgBlue.Checked[i] then c := c + 1 shl (i + 16); // количество значений для синего цвета $000000..$FF0000
36+ end;
37+ Color := c;
38+end;
39+```
40+
41+- запустите программу. Должно выглядеть так:
42+
43+<figure>
44+<img src="ExampleTCheckGroup.png" title="ExampleTCheckGroup.png" />
45+<figcaption>ExampleTCheckGroup.png</figcaption>
46+</figure>
47+
48+## См. также
49+
50+- [[doc:lcl/extctrls/tcheckgroup.html|Документация по TCheckGroup]]
51+- [[TCheckBox/ru|TCheckBox]]
52+- [[TGroupBox/ru|TGroupBox]]
53+
54+---
55+*From the Free Pascal wiki, page "TCheckGroup/ru", as it stood on 2020-02-29 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history