Hallo DPler ich hab folgendes Problem ich habe eine procedure geschrieben bei der bei Falscheingabe der Focus behalten wird. Der Nachteil, auch wenn ich einen Button drücke wird der Focus auf dem Editfeld behalten, Wie kann ich es programmieren, dass bei bitbtnclick der FOcus nicht behalten wird ??
Delphi-Quellcode:
procedure TPgmFrm.EditExit(Sender: TObject); // beim verlassen von EditFeld Aufruf von KeepFocus
begin
KeepFocus((Sender as TEdit));
end;
Delphi-Quellcode:
procedure TPgmFrm.KeepFocus(e: TEdit); // Focus behalten und Inhalt prüfen
var i, iVal: integer;
s: String;
sl: TStringList;
begin
s:= e.Name;
sl:= TStringList.Create; // I wird aus Name (z.B. Edit_1) generiert
splitString(s, '_', sl);
i:= StrToInt(sl[1]);
if not (i = 1) and not (i = 5) and not
(i = 10) and not (i = 16) and not (i = 17) then begin
s:= e.Text;
if CheckZero(s) = True then begin // Wenn Feld leer oder Null ist
ShowMessage(s);
e.SetFocus;
end;
end;
sl.Free;
end;
Hat jemand eine Idee?
Ich weiß nix mehr
Bitte helft mir.