Sign in Join
Wiki copytemporary

TCheckListBox/ru: what changed

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

Title: TCheckListBox/ru

OldNewLine
1+**TCheckListBox** ![](/wiki-images/9/98/Tchecklistbox.png) является компонентом , который отображает список флажков (с прокруткой), в котором пользователь может выбрать несколько элементов. Данный компонент доступен на вкладке [[Additional tab/ru|Additional]] [[Component Palette/ru|палитры компонентов]].
2+
3+<figure>
4+<img src="CheckListBoxDemo.png" title="CheckListBoxDemo.png" />
5+<figcaption>CheckListBoxDemo.png</figcaption>
6+</figure>
7+
8+## Использование компонента
9+
10+Представьте, что **TCheckListBox** состоит из двух частей - строк в виде [[TListBox/ru|списка]], отображаемых справа, и [[TCheckBox/ru|флажков]], расположенных слева. Строки обычно представляют описание того, что выбирает пользователь с помощью щелчка по флажку. Строки могут быть загружены индивидуально, например используя подобный код:
11+
12+``` pascal
13+CheckListBox1.AddItem('Строка №1', Nil);
14+CheckListBox1.AddItem('Строка №2', Nil);
15+```
16+
17+Или же вы можете присвоить список строк, заполненный в другом месте:
18+
19+``` pascal
20+CheckListBox1.Items.Assign(MyStringList);
21+```
22+
23+Вот хорошая идея для того, чтобы установить флажки в нужное состояние:
24+
25+``` pascal
26+ for I := 0 to CheckListBox1.Count-1 do
27+ CheckListBox1.Checked[I] := False;
28+```
29+
30+Компонент **TCheckListBox** позволяет выбрать столько флажков, сколько необходимо. Используйте событие *OnItemClick*, чтобы можно было выбрать не более одного элемента:
31+
32+``` pascal
33+procedure TNoteBookPick.CheckListBox1ItemClick(Sender: TObject; Index: integer);
34+var
35+ I : integer;
36+begin
37+ if (Sender as TCheckListBox).Checked[Index] then begin
38+ for I := 0 to CheckListBox1.Count -1 do
39+ CheckListBox1.Checked[I] := False;
40+ CheckListBox1.Checked[Index] := True;
41+ end;
42+end;
43+```
44+
45+Получить значения выбранных флажков после того, как пользователь выбрал нужные:
46+
47+``` pascal
48+ for I := 0 to CheckListBox1.Count -1 do
49+ if CheckListBox1.Checked[I] then DebugLn('Checked Item ' + CheckListBox1.Items[I]);
50+```
51+
52+## См. также
53+
54+- [[doc:lcl/checklst/tchecklistbox.html|Документация по TCheckListBox]]
55+- [[TCheckBox/ru|TCheckBox]]
56+- [[TListBox/ru|TListBox]]
57+
58+---
59+*From the Free Pascal wiki, page "TCheckListBox/ru", as it stood on 2018-02-18 after a change by Useroflazarus, 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