Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Welches Ereignis wird bei AdvStringGrid.Cells ausgelöst (https://www.delphipraxis.net/191930-welches-ereignis-wird-bei-advstringgrid-cells-ausgeloest.html)

norwegen60 4. Mär 2017 23:01

Welches Ereignis wird bei AdvStringGrid.Cells ausgelöst
 
Hallo,

welches Ereignis außer OnDrawCell wird beim setzen von
Delphi-Quellcode:
StrGrid.Cells[1,1]
ausgelöst.

Die OnEdit... und OnCellChanging sind es nicht

Danke
Gerd

nahpets 4. Mär 2017 23:37

AW: Welches Ereignis wird bei AdvStringGrid.Cells ausgelöst
 
Die Fragestellung ist für 'ne Beantwortung zu ungenau.

Was passiert mit
Delphi-Quellcode:
StrGrid.Cells[1,1]?
Eine Zuweisung im Quelltext?
Delphi-Quellcode:
StrGrid.Cells[1,1] := 'irgendeintext';
oder eine Änderung über die Oberfläche?
Bei einer Zuweisung im Quelltext (vermutlich / eher sicher) kein Ereignis.

norwegen60 5. Mär 2017 07:49

AW: Welches Ereignis wird bei AdvStringGrid.Cells ausgelöst
 
Oh sorry.

Natürlich über
Delphi-Quellcode:
StrGrid.Cells[1,1] := 'irgendeintext';
.
Über die Oberfläche werden diverse Ereignisse ausgelöst (OnEdit.., OnKey.., OnExit, ...)

nahpets 5. Mär 2017 09:42

AW: Welches Ereignis wird bei AdvStringGrid.Cells ausgelöst
 
Bei 'ner Zuweisung im Quelltext werden keinen Ereignisse ausgelöst.

Wenn das trotzdem zwingend erforderlich ist, kannst Du die Ereignisse "manuell auslösen".

Hab' hier mal das Ereignis SetEditText von 'nem StringGrid genommen, da ich die von Dir genutzte Komponente nicht habe und daher dafür kein Beispiel liefern kann.
Delphi-Quellcode:
// Im Objektinspektor das Ereignis zuweisen und die Routine mit "Leben" füllen ...
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
begin
  // Hier passiert halt das, was im Ereignis passieren soll.
end;

// irgendeine Routine, in der was zugewiesen wird.
...
  for i := 1 to 10 do begin
    iCol := i;
    iRow := i;
    StringGrid1.Cells[iCol,iRow] := Format('irgendeintext %d, %d',[iCol,iRow]);
    StringGrid1SetEditText(StringGrid1, iCol, iRow, StringGrid1.Cells[iCol,iRow]);
  end;
...
Inhaltlich ist dieses Beispiel latürnich Nonsens, aber es verdeutlicht hoffentlich, wie es gehen könnte.

norwegen60 5. Mär 2017 11:28

AW: Welches Ereignis wird bei AdvStringGrid.Cells ausgelöst
 
Danke für die Antwort.
Diese Möglichkeit oder die, alle Aktionen in einer Set-Funktion zu machen, habe ich auch schon angedacht. Ich hatte gehoft ich hätte eine Ereignis übersehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz