Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi edit-feld-color on enter bzw. on leave farbe verändern (https://www.delphipraxis.net/33879-edit-feld-color-enter-bzw-leave-farbe-veraendern.html)

tylix 14. Nov 2004 09:36


edit-feld-color on enter bzw. on leave farbe verändern
 
Hallo zusammen,

ich hab folgendes Problem,

ich habe eine Maske mit ca. 25 Feldern diese möchte ich aber so verändern, daß wenn der Benutzer z.B. von Feld1 in Feld2 springt, automatisch die Farbe des Hintergrundes von Feld1 wieder weiss und von Feld2 gelb wird.

Ich habe das zwar schon geschafft für bei zwei Feldern, nur ist jetzt meine Frage, kann ich das ganze irgendwie automatisieren und nicht bei jedem feld bei onenter oder onexit "edit1.color := clyellow" ... einzutippen.

Habt ihr da eine Hilfe für mich, wie ich das ganze vereinfachen kann?
Wäre supi.

Danke

Sharky 14. Nov 2004 09:38

Re: edit-feld-color on enter bzw. on leave farbe verändern
 
Hai tylix,

weise doch allen Edits das selbe OnEnter bzw. OnExit zu.

tylix 14. Nov 2004 09:39

Re: edit-feld-color on enter bzw. on leave farbe verändern
 
schon, muss ich aber nicht schreiben.

edit1.color := clyellow;

oder wie mach ich das? mit dem gleichen onedit / onexit.

??

Sharky 14. Nov 2004 09:44

Re: edit-feld-color on enter bzw. on leave farbe verändern
 
Zitat:

Zitat von tylix
...oder wie mach ich das? mit dem gleichen onedit / onexit.

So ;-)
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  ndx : Integer;
begin
  for ndx := 0 To Pred (ControlCount) do
  begin
    if ((Controls[ndx]) IS TEdit) then // Alle TEdits berücksichtigen
    begin
      (Controls[ndx] As TEdit).OnEnter := EditEnter; // OnEnter-Methode zuweisen
      (Controls[ndx] As TEdit).OnExit := EditExit; // OnExit-Methode zuweisen.
    end;
  end;
end;

procedure TForm1.EditEnter(Sender: TObject); // OnEnter
begin
  (Sender As TEdit).Color := clAqua; // Sender auswerten
end;

procedure TForm1.EditExit(Sender: TObject); // OnExit;
begin
  (Sender As TEdit).Color := clWhite;
end;
Anstelle es im OnCreat der Form zu machen kannst Du natürlich auch allen TEdits das OnEnter im ObjectInspector zuweisen.

DP-Maintenance 14. Nov 2004 09:46

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Multimedia" nach "VCL-Komponenten und Controls" verschoben.
Hat wenider mit Muldimedia als mit VCL zu tun ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz