Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DBEdit Felder soll wenn es aktiv ist, andere Farbe haben! (https://www.delphipraxis.net/1104-dbedit-felder-soll-wenn-es-aktiv-ist-andere-farbe-haben.html)

m-werk 18. Okt 2002 10:11


DBEdit Felder soll wenn es aktiv ist, andere Farbe haben!
 
Hi Leute!

Ich habe einige DBEdit Felder. Die Farbe der Felder ist standart weiß. Wie kann ich es machen, dass jenes Feld eine andere Farbe hat, in dem sich gerade der Cursor befindet?

Christian Seehase 18. Okt 2002 11:05

Moin m-werk,

im OnEnter bzw. OnExit Event kannst Du die Farbe zuweisen.
Dabei brauchst Du nur eine Routine, die Du dann jedem DBEdit zuweist.

Code:
[b]procedure[/b] TForm1.DBEdit1Enter(Sender: TObject);
[b]begin[/b]
  [color=#000080]// Wenn das Feld den Fokus erhält die Farbe auf rot ändern[/color]
  TDBEdit(Sender).Color := clRed;
[b]end[/b];

[b]procedure[/b] TForm1.DBEdit1Exit(Sender: TObject);
[b]begin[/b]
  [color=#000080]// und wieder zurück auf weiss, wenn der Cursor das Feld verlässt[/color]
  TDBEdit(Sender).Color := clWhite;
[b]end[/b];

m-werk 18. Okt 2002 11:18

Hi, danke für die Antwort, ist eigentlich eh logisch. Darauf hätte ich auch selbst kommen können. Das heist, ich muß das bei all meinen Edit-Feldern so machen. Ich hab mich nur gedacht, dass das vielleicht auch nur mit einem einzigen Code geht, und dass das dann für alle Editfelder dann gleich ist. Aber so gehts auch.

Danke nochmals.

Christian Seehase 18. Okt 2002 11:36

Moin m-werk,

Du brauchst auch nur je eine Routine für OnEnter und ein für OnExit.
Je Event eine für alle DBEdit Felder.
  1. Ein DBEdit Feld markieren
  2. Im Objektinspektor, Ereignisse, Doppelclick auf OnEnter
  3. Jetzt die Zeile TDBEdit(Sender).Color := WelcheFarbeEsAuchSeinSollWennDerCursorImFeldSteht dort eintragen
  4. Im Objektinspektor, Ereignisse, Doppelclick auf OnExit
  5. Jetzt die Zeile TDBEdit(Sender).Color := WelcheFarbeEsAuchSeinSollWennDerCursorNichtImFeldSteht dort eintragen
  6. Jetzt alle DBEdit Felder auf dem Formular markieren
  7. Im Objektinspektor, Ereignisse, OnEnter aus der ComboBox das gerade erstellte OnEnter Event auswählen
  8. Wie vor, aber mit OnExit
  9. Fertig. Eine OnEnter Routine, eine OnExit Routine für alle DBEdit Felder

[Edit]Durch das TDBEdit(Sender) spricht die Routine automatisch das richtige Feld an[/Edit]

m-werk 18. Okt 2002 12:19

Das klingt ja super. Danke, ich werd's am Wochenende gleich mal ausprobieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 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