dr.disk Geschrieben 19. Februar 2004 Geschrieben 19. Februar 2004 Hallo, ich habe ein Editfeld welches inaktiv ist (enabled = false). Bei diesem Feld würde ich gerne die Farben ändern. Das Problem welches ich habe ist, dass der Hintegrund grau ist und man die graue Schrift kaum lesen kann. Wie ändere ich diese Farben? Danke! Zitieren
geloescht_JesterDay Geschrieben 19. Februar 2004 Geschrieben 19. Februar 2004 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. Zitieren
dr.disk Geschrieben 19. Februar 2004 Autor Geschrieben 19. Februar 2004 Das geht nur leider nicht unter Kylix... Zitieren
geloescht_JesterDay Geschrieben 19. Februar 2004 Geschrieben 19. Februar 2004 Original geschrieben von dr.disk Das geht nur leider nicht unter Kylix... Was geht nicht unter Kylix? Also soviel hab ich damit noch nicht gemacht, nur mal angesehen und ne kleine Abfrage aus unserer DB zum testen gemacht... Zitieren
dr.disk Geschrieben 19. Februar 2004 Autor Geschrieben 19. Februar 2004 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. Zitieren
geloescht_JesterDay Geschrieben 20. Februar 2004 Geschrieben 20. Februar 2004 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). Zitieren
dr.disk Geschrieben 20. Februar 2004 Autor Geschrieben 20. Februar 2004 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! Zitieren
geloescht_JesterDay Geschrieben 20. Februar 2004 Geschrieben 20. Februar 2004 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. Zitieren
Empfohlene Beiträge
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.