[GELÖST] StringGrid mit GridColumn

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
Swirl
Beiträge: 93
Registriert: Fr 7. Aug 2015, 14:05
OS, Lazarus, FPC: Win 10/11/ Mint 21.3 / Lazarus 30 / FPC 3.2.2
CPU-Target: x86_64, ARM Cort.-A7
Wohnort: Schwerte NRW

[GELÖST] StringGrid mit GridColumn

Beitrag von Swirl »

Hallo und frohe Pfingsten,

kann mir jemand sagen, wie ich durch Anklicken der ersten Spalte das Minuszeichen wieder hinbekomme?
Nach dem ersten Anklicken kann ich nur noch zwischen »leer« und Checkmark wechseln.
Sinn und Zweck der Aktion sei erstmal dahingestellt.

Mit bestem Dank im Voraus.
Michael

Sorry - ich hatte vergessen zu sagen, dass es sich um ein Stringgrid mit gefülltem »GridColumn« handelt.

Bild
Zuletzt geändert von Swirl am Mo 6. Jun 2022, 13:23, insgesamt 3-mal geändert.
=> Mint 21.3 “Virginia” - Win 10/11 - Lazarus 3.0 - FPC 3.2.2

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: StringGrid mit GridColumn

Beitrag von wp_xyz »

Wie bei einer normalen Checkbox, kannst du zwischen "Checked" und "Unchecked" hinundherschalten - "checked" ist das Häkchen, "unchecked" das leere Kästchen. Das (für mich absolut unlogische) Minus bedeutet "unklar, undefiniert, weiß nicht", vor Win11 war das grau. Was in der Grid-Zelle steht, wird durch die Eigenschaften ValueChecked bzw. ValueUnChecked der GridColumn festgelegt, wenn ihr ButtonStyle=cbsCheckboxColumn ist, alles andere gilt als "undefiniert". Daher musst du, um das "minus-Zeichen" zu bekommen, z.B. einfach nur den Zell-Inhalt löschen; das könntest du im OnKeyDown-Ereignis tun, in dem du die DEL-Taste abfängst:

Code: Alles auswählen

procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word; 
  Shift: TShiftState);
begin
  if Key = VK_DELETE then
    StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := '';
end; 

Benutzeravatar
Swirl
Beiträge: 93
Registriert: Fr 7. Aug 2015, 14:05
OS, Lazarus, FPC: Win 10/11/ Mint 21.3 / Lazarus 30 / FPC 3.2.2
CPU-Target: x86_64, ARM Cort.-A7
Wohnort: Schwerte NRW

Re: StringGrid mit GridColumn

Beitrag von Swirl »

:D
Zuletzt geändert von Swirl am So 5. Jun 2022, 20:22, insgesamt 1-mal geändert.
=> Mint 21.3 “Virginia” - Win 10/11 - Lazarus 3.0 - FPC 3.2.2

Benutzeravatar
Swirl
Beiträge: 93
Registriert: Fr 7. Aug 2015, 14:05
OS, Lazarus, FPC: Win 10/11/ Mint 21.3 / Lazarus 30 / FPC 3.2.2
CPU-Target: x86_64, ARM Cort.-A7
Wohnort: Schwerte NRW

StringGrid mit GridColumn

Beitrag von Swirl »

Besten Dank wp_xyz!

Per Taste (VK_ESCAPE, VK_DELETE) klappt das wohl, aber meine Frage zielte ja auf ein Mausklick ab.

Trotzdem einstweilen besten Dank
Michael

p.s.: hab's dann selbst noch hinbekommen über das Ereignis "StringGridSetCheckboxState"
=> Mint 21.3 “Virginia” - Win 10/11 - Lazarus 3.0 - FPC 3.2.2

Antworten