StringGrid - wykrycie końca edycji

0

Chciałbym wykryć moment w którym StringGrid.EditorMode ustawia się na False. Edytuję sobie komórkę, a następnie naciskam enter, strzałkę w dół, tabulator czy też np. klikam sobie gdzie indziej kursorem myszy - w tych przypadkach StrigGrid.EditorMode ustawia się na False, ale jak to wychwycić?

0

Może użyj timera?

0

Też o tym myślałem, ale może jest jakieś bardziej "profesjonalny" sposób?

0

Może zrobić komponent dziedziczący po stringgridzie, i dołożyć mu OnEditorModeChange. Trzeba by też zrobić nowego setera i getera dla proprty editormode.

Kiedyś miałem taką potrzebę, ale mi się pisać komponentu nie chciało - wiec obsługiwałem bodajże kilka zdarzeń aby to wyłapać (OnExit, OnSelectCell, OnChange czy jakoś tak).

0

proponuje obsługę 2 zdarzeń:

procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
begin
if not StringGrid1.EditorMode then beep;

end;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin

if StringGrid1.EditorMode then beep;
end;
0

Aleś strzelił grzanke

1 użytkowników online, w tym zalogowanych: 0, gości: 1