Hi,
ich habe hier ein Stringgrid in welches ich manuell Daten eingebe. Ich bestätige die Eingabe mit Return und springe in die nächste Spalte.
Nun habe ich noch eine Suchfunktion. Momentan ist das 2. Form, auf der ich die Suchbegriffe eintrage und suche. Ist das richtige gefunden, so soll in einer Spalte der gefundene Wert eingetragen und sofort weiter in die nächste Spalte gesprungen werden. Ohne noch einmal Return zu drücken.
Delphi-Quellcode:
frmSuch := TfrmSuch.Create(self);
frmSuch.ShowModal;
if frmSuch.gefunden then with sg do begin
key := VK_RETURN;
Cells [1,Row] := frmSuch.lbl.Caption;
Col := 1;
ch := chr (key);
sgNrKeyPress(Sender,ch);
key := ord (ch);
end;
frmSuch.Close;
Das ist im OnKeyDown der Hauptform und ich habe den Verdacht, daß es so nicht geht. Also Im OnKeyDown das OnKeyPress explizit aufzurufen. Oder kann man das so machen ? Stand der Dinge ist der, daß es auf einer Form geht und auf anderer nicht. Der Zusammenhang ist mir dabei noch unklar.
Wie sollte man so etwas im Prinzip machen ? Soll ich vielleicht nur eine Form verwenden ? Leider ist der Programmteil schon älter und ich weiß gar nicht mehr, warum überhaupt 2 Forms da sind.
Ja, ich weiß, immer schön alles kommentieren.