Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Komponenten Highlighter (https://www.delphipraxis.net/856-komponenten-highlighter.html)

Primus 16. Sep 2002 18:52


Komponenten Highlighter
 
Hallo an alle,

hat jemand eine Idee wie ich sämtliche Eingabefelder (TEdit, TDBEdit, TDBLookup...) bei der focuserhalt Highlighten kann? Das heist wenn aktiv dann eine andere Hintergrundfarbe und wenn nicht mehr aktiv dann wieder normal.

Danke

Christian Seehase 16. Sep 2002 19:15

Moin Primus,

ich weiss natürlich nicht, ob alle die Komponenten, die Du verwenden willst über diese Events verfügen, aber Du könntest im OnEnter/OnExit Event die Farbe(n) entsprechend setzen.

Primus 16. Sep 2002 19:27

Tach Chris,

das hatte ich schon mal versucht aber das bläht ja den Code so auf,
es handelt sich um eine Verwaltungssoftware für eine Rettungsdienstbereitschaft, sind so ungefähr 200 Eingabefelder. Ich dachte mehr so an eine Funktion die bei jeglichem Focus die Farbe der Komponente ändert. :roll:

Luckie 16. Sep 2002 19:31

Das sind höchstens 10 Zeilen Code. :roll: Und sowas nennst du Code aufblähen? :shock:

d3g 16. Sep 2002 19:41

Hi Primus,

du musst ja nicht für jede Komponente einen OnEnter/OnExit-Event-Handler schreiben. Schreib doch einen und stell im Objektinspektor unter "Events" einfach immer die gleiche Prozedur ein, das dürfte den Code kaum aufblähen.

MfG,
d3g

thomasdrewermann 16. Sep 2002 21:50

Dann wird doch immer das eine Button grün. egal über welches Feld man geht :-(

Christian Seehase 16. Sep 2002 21:55

Moin Thomas,

nein, man bekommt im Parameter Sender ja übergeben, bei welcher Kompo das Ereignis ausgelöst wurde, und kann dann entsprechend abfragen, z.B.

Code:
[b]if[/b] (Sender [b]is[/b] TButton) [b]then[/b]
[b]begin[/b]
  [color=#000080]// z.B. [/color]
  TButton(Sender).Font.Size := 12;
[b]end[/b];
Mit anderen Controls und/oder Eigenschaften entsprechend.

Luckie 16. Sep 2002 21:57

Schon mal folgendes im Code gesehen: Sender as TObject?
Da mit kannst du prüfen welcher Button das Ereignis ausgelöst hat.

Primus 17. Sep 2002 06:41

Hallo,

mann an so was hätte ich ja auch denken können. :oops:
Danke für die Hilfe, manchmal sieht mann den Wald vor lauter
Programmzeilen nicht...

Tschuss

Primus

Ricane 25. Apr 2003 07:20

Nochmal Sender ...
 
Moin,

ich habe ein ähnliches Problem, wie es hier auch schon behandelt wurde.

Also, in einer ListBox habe ich folgendes stehen ...
Code:
If MidStr(Erinnern[Lst_Artikel.ItemIndex + 1] ,1,1) = '1' then CheckBox1.Checked := True;
Das bedeutet ja das er, wenn die Abfrage True ist, das Ereignis CheckBox1Click ausführt.

Dort soll er eine Variable wieder auf False setzten, aber nur wenn das Ereignis nicht von der ListBox ausgelöst wird, sondern direkt von der CheckBox.

Nachdem ich das hier gelesen habe, habe ich es mit folgendem Code probiert, den ich in die CheckBox1Click Prozedur gelegt habe...
Code:
If Sender is TListBox then Exit;          ... oder ...
If Sender = Lst_Artikel then Exit;        ... oder ...
If (Sender is TListBox) then Exit
Aber immer ohne Erfolg. Wenn ich mir das während des Debbugens angucke ist die VAR Sender immer leer. (Egal wer das Ereignis auslöst).

PS: Natürlich ist Sender deklariert...


Grüsse,

Ricane


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 Uhr.
Seite 1 von 2  1 2      

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