Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: größe der Komponente automatisch anpassen

  Alt 13. Mai 2009, 10:10
Hab nochmal versucht diese Funktion etwas zu verbessern:
Delphi-Quellcode:
procedure TLabEdit.FEdKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
// Die Änderung hier an dieser Prozedur sehen wie folgt aus: OnChange wird nur
// aktiviert, wenn eine Eingabe getätigt wurde, die verschieden von der vorherigen
// ist.
// Bei Esc wird alles wieder zurückgesetzt und das OnChangeEvent wird nicht aktiviert.
  if (Key = 13) then
    begin
      FEdEingabe.Visible := false;
      FLblAnzeige.Visible := true;
      FLblAnzeige.Caption := FEdEingabe.Text;
      if assigned(FOnChange) then FOnchange;
      ChangeEmbeddedEdit;
    end;
  if (key = 27) then
    begin
      FEdEingabe.Visible := false;
      FLblAnzeige.Visible := true;
      FEdEingabe.Text := sTextWert;
       ChangeEmbeddedEdit;
    end;
end;
Sieht jetzt wie folgt aus und scheint auch seine Schuldigkeit zu tun. Mir ist zumindest kein Fehler aufgefallen:

Delphi-Quellcode:
if key in [13, 27] then
     begin
      FEdEingabe.Visible := false;
      FLblAnzeige.Visible := true;
      case key of
      13: begin
            FsTextWert := FEdEingabe.Text;
            FLblAnzeige.Caption := FEdEingabe.Text;
            if assigned(FOnChange) then FOnchange;
          end;
      27: begin
            FEdEingabe.Text := FsTextWert;

          end;
      end;
    end
  else
    begin
      inherited;
      FLblAnzeige.Caption := FEdEingabe.Text;
      ChangeEmbeddedEdit;
    end;
Sieht so schöner aus.

Mache gleichmal einen extra Threat auf für das Problem, wie erkenne ich, dass außerhalb meiner Komponente geklickt wurde.
2. Account Sero
  Mit Zitat antworten Zitat