CHECKBOX В STRINGGRID DELPHI
StringGrid в Delphi - это мощный компонент для отображения и редактирования табличных данных. В этой статье мы рассмотрим, как использовать элемент управления CheckBox в StringGrid.
Наиболее распространенное вхождение CheckBox в StringGrid - это использование его для редактирования логических значений в ячейках таблицы. Для создания CheckBox в ячейке StringGrid необходимо выполнить несколько шагов:
- Установите свойство
DefaultDrawing
компонентаStringGrid
наFalse
. - Напишите обработчик события
OnDrawCell
, в котором создайте объектTCheckBox
и настройте его свойства в соответствии с данными в ячейке. - В обработчике события
OnClick
CheckBox обновите данные в ячейке и перерисуйте ее.
Пример кода для создания CheckBox в ячейке StringGrid:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);var CheckBox: TCheckBox;begin if (ACol = 3) and (ARow > 0) then begin StringGrid1.Canvas.FillRect(Rect); CheckBox := TCheckBox.Create(nil); CheckBox.Parent := StringGrid1; CheckBox.Left := Rect.Left + (Rect.Right - Rect.Left - CheckBox.Width) div 2; CheckBox.Top := Rect.Top + (Rect.Bottom - Rect.Top - CheckBox.Height) div 2; CheckBox.Checked := StringGrid1.Cells[ACol, ARow] = 'True'; CheckBox.OnClick := CheckBoxClick; end else StringGrid1.DefaultDrawCell(Rect, State);end;procedure TForm1.CheckBoxClick(Sender: TObject);begin StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := BoolToStr(TCheckBox(Sender).Checked, True); StringGrid1.Invalidate;end;
В этом примере создается CheckBox в ячейке [3, ARow] (четвертый столбец), если ARow больше нуля (исключая первую строку заголовков).
Delphi 20 StringGrid / 5 Click Cells Update
Selection Programming Part 4 - Checkbox component
Livebinding a Checkbox - Delphi #136
Walking Star in Delphi's Stringgrid
Co potrafi chińskie Delphi w Mercedesie vs Star-Diagnosis
Tutorial: TComboBox at TStringGrid in FireMonkey (Delphi DX 10.4.1 Sydney) on Windows