naja das SetText-Event dürfte für den Anwender etwas unbefriedigend sein, da der heutige Standard ja eigentlich so aussieht, dass man direkt ne Rückmeldung bekommt wenn was falsch ist.
Bei dem SetText-Event ist es ja so, dass der Anwender erst allesmögliche eingeben kann, sich freut dass es klappt und sich dann wundert, dass entweder garnichts oder was anderes ins Feld geschrieben wurde.
Ich habs jetzt über das KeyPress-Event des Grids gelöst:
Delphi-Quellcode:
procedure TtfMyForm.MyGridKeyPress(Sender: TObject; var Key: Char);
begin
if MyGrid.SelectedField = dmMyDataModule.ttMyTableMyField then
begin
Key := UpCase(Key); // damit man nicht ständig shiften muss :)
if not (Key in ['A'..'Z','0'..'9','_','-','+',#8,#27,#13]) then // Steuerzeichen wie Backspace, ESC und Return zulassen
begin
Key:=#0;
ShowInputHint;
end;
end;
end;
An der ShowInputHint bastel ich grad noch, da ich einen Hint am selektierten Feld anzeigen will mit den zugelassenen Zeichen, kein Plan wie das gehen soll