Zum Inhalt springen

Delphi/Kylix: Farben ändern eines TEdit


dr.disk

Empfohlene Beiträge

Original geschrieben von dr.disk

Das Problem welches ich habe ist, dass der Hintegrund grau ist und man die graue Schrift kaum lesen kann. Wie ändere ich diese Farben?

Das haben inaktive Editfelder nunmal so ansich, dass man sie kaum lesen kann (sind ja auch inaktiv). Die Farben werden vom System vorgegeben (bzw. da kannst du die Farben für inaktive Felder einstellen, wie auch andere Systemfarben).

Wenn du ein Editfeld anzeigen willst, aber keine Änderungen zulassen willst setzt du am besten die Farbe auf einen Grauwert (clBtnFace für Windows) und ReadOnly auf True.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Folgendes geht in Kylix nicht:

Kylix benutzt nicht die Farben aus den Systemeinstellungen für das Programm, sondern irgendwelche anderen. Wenn ich z.B. im System einstelle, dass alle Buttons rot sein sollen (igitt, ich weiß - man testet halt mal...) sind alle Buttons von jedem Programm rot. Außer die von Kylix. Die sind immer noch grau. :confused:

Jetzt kann man aber mit Application.Palette.setColor die zugrundeliegende Farbpalette ändern. Das funktionert wunderbar für alle Komponenten in Kylix, außer für die inaktiven. Die ignoreren jegliche Farbeinstellung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmm... also ich weiss nur, dass Kompoenten eben wirklich nur inaktiv gesetzt werden sollten, wenn sie das wirklich sind, also keinen aktiven Nutzen haben (auch das anzeigen von WErten nicht).

Wenn ich ein EditFeld habe, und das nur manchmal nur zum Anzeigen genutzt werden soll, setze ich die eigenschaft ReadOnly und zur Kennzeichnung das man nix eingeben kann auch die Farbe.

Es ist wohl nicht ganz so wie ich es oben gesagt habe, dass die inaktiven Farben eingestellt werden können. Jedes Betriebssystem hat die Möglichkeit Dinge inaktiv (als Geist/Ghost) darzustellen. Und wie der Name das schon andeutet ist es dann auch nur noch wahrzunehmen, aber nicht mehr wirklich zu nutzen.

Ein ReadOnly EditFeld ist als inaktiv eben nicht zu realisieren (IMHO).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Problem dass ich habe ist, dass es sich um DBEditFelder handelt. Diese haben alle die Option ReadOnly. Sobald der User aber in den Änderungsmodus wechselt wird von allen DB-Feldern diese Option aufgehoben. Es gibt aber ein paar Felder wo man nichts ändern kann, die aber trotzdem angezeigt werden müssen (z.B. die Auftragsnummer). Diese Felder haben die Option enabled = false gesetzt, damit Sie auch wirklich nicht geändert werden können.

Ich hab das Problem jetzt anders gelöst: die Funktion wechseln in Editiermodus ändert die ReadOnly Option nur von denen Feldern, bei denen Tag gleich 0 ist. Jetzt kann ich also über die Eigenschaft Tag bestimmen ob dieses Feld editiert werden darf oder nicht.

Mir soll's recht sein, dass funktioniert. Danke für die Diskussion!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von dr.disk

Das Problem dass ich habe ist, dass es sich um DBEditFelder handelt. Diese haben alle die Option ReadOnly. Sobald der User aber in den Änderungsmodus wechselt wird von allen DB-Feldern diese Option aufgehoben.

Hast du den Feldeditor deines Datasets mal aufgerufen und dort deine Felder hinzugefügt? Wenn ja kannst du dort am Feld selbst bestimmen ob es editiert werden kann oder nicht (ReadOnly). Das DBEditFeld richtet sich danach (und nicht nach den eigenen Eigenschaften)... Müsste funktionieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...