Einzelnen Beitrag anzeigen

Int3g3r

Registriert seit: 28. Nov 2018
Ort: Schweiz
118 Beiträge
 
Delphi 10.3 Rio
 
#1

Stringgrid: Scroll-Focus entfernen

  Alt 25. Apr 2019, 11:18
Guten Tag,

Ich möchte im Stringgrid eine Zelle komplett "Deselektieren".
Code:
StringGrid1.Selection := NoSelection ;
Führt leider nicht zum gewünschten Erfolg. Dieser entfernt nur die "Markierung", die Zelle ist aber immer noch selektiert (Bild).

Da das StringGrid kein "OnCellClick" Event verfügt muss ich das "SelectCell" Event verwenden.
Sobald nun aber der user im Grid scrollt wird nun mein "SelectCell" Event ausgelöst was nicht passieren darf.
Im Prinzip muss sich die letzte Coloum wie eine Checkbox verhalten. Wenn man Klickt wird der Wert darin verändert. Aber nicht beim Scrollen.

Delphi-Quellcode:
procedure TfrmCSV.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);
const
      NoSelection : TGridRect = (Left: -1; Top: -1; Right: -1; Bottom: -1);
begin
      if ACol = StringGrid1.ColCount-1 then
    begin
       if StringGrid1.Cells[ACol,ARow] = 'Neinthen
       begin
         StringGrid1.Cells[ACol,ARow] := 'Ja';
       end
       else
       begin
         StringGrid1.Cells[ACol,ARow] := 'Nein';
       end;
    end;
    StringGrid1.Selection := NoSelection ;
end;
Wie lässt sich dies bewerkstelligen ?

Mfg Int3g3r
Miniaturansicht angehängter Grafiken
stringridfocus.jpg  
  Mit Zitat antworten Zitat