Announcement

Collapse
No announcement yet.

Verschiebung des Fokus mit KeyPress Und/oder KeyDown

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verschiebung des Fokus mit KeyPress Und/oder KeyDown

    Ich bitte um euere Hilfe bei den procedures KeyPress und/oder KeyDown. Ich selber
    habe mit diesen noch nie etwas zu tun gehabt. Bei einem meiner Programme würde es
    sich als vorteilhaft auswirken wenn man den Fokus statt mit der TAB-Taste mit der
    RETURN-Taste bewerkstelligen könnte.

    Mein Problem:
    Ich habe vier Edit-Boxen die Daten aufnehmen und diese dann in Variablen abgespeichert
    werden um später aufgerufen und verwendet zu werden. Der Fokus von Edit1 bis Edit4 wird
    per Druck auf die TAB-Taste und anschließender Eingabe verschoben. Das funktioniert so
    weit sehr gut. Doch könnte man diese Eigenschaft auf die RETURN-Taste übertragen so
    könnte die Eingabe vom Ziffernblock und der RETURN-Taste erheblich ergonomischer
    gestaltet werden.
    Ich arbeite mit Delphi 5.

    Unten folgend der Quelltext für die ursprüngliche Lösung mit der TAB-Taste:

    unit Messung;

    interface

    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls, Buttons, ExtCtrls;

    type
    TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Edit4: TEdit;
    Edit5: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure Eingabe;
    procedure Berechnen;
    procedure Ausgabe;
    private
    { Private-Deklarationen }
    public
    { Public-Deklarationen }
    end;

    var
    Form1: TForm1;
    AaDO2,Baro,PCO2,PO2,pH: double;
    s:string;

    implementation

    {$R *.DFM}

    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
    Form1.Eingabe;
    Form1.Berechnen;
    Form1.Ausgabe;
    end;

    procedure TForm1.BitBtn2Click(Sender: TObject);
    begin
    Form1.Close;
    end;

    procedure TForm1.Eingabe;

    begin
    Baro := StrToFloat(Edit1.Text);
    PCO2 := StrToFloat(Edit2.Text);
    PO2 := StrToFloat(Edit3.Text);
    pH := StrToFloat(Edit5.Text);
    end;

    procedure TForm1.Berechnen;

    begin
    AaDO2 := ((Baro - 47) * 0.2093) - (PCO2 / 0.8) - PO2;
    end;

    procedure TForm1.Ausgabe;

    begin
    s:='BGA: pH='+FloatToStrF(pH,ffFixed,15,3)+
    '; pCO2='+FloatToStrF(pCO2,ffFixed,15,1)+
    '; pO2='+FloatToStrF(pO2,ffFixed,15,1)+
    '; AaDO2='+FloatToStrF(AaDO2,ffFixed,15,2);
    Edit4.Text := s;
    Edit4.SelectAll;
    Edit4.CopyToClipboard;
    end;

    end.

    Ich bitte euch herzlichst um Hilfe, wie man diesen Schritt mit Hilfe von KeyPress oder
    KeyDown lösen könnte. Aber auch für andere Lösungen, falls es welche gäbe, wäre ich
    sehr dankbar. Mir fehlen ganz einfach die Kenntnisse.
    Im Voraus herzlichen Dank von Georg Arendasy .

  • #2
    http://www.marquardtnet.info/cecke/q...quicky_28.html
    Christian

    Comment

    Working...
    X