| Autor |
Nachricht |
Bastler
Hält's aus hier
Beiträge: 11
Erhaltene Danke: 1
|
Verfasst: Do 01.12.11 20:26
Hallo Leute,
ich habe folgende Problemstellung:
Auf einem Formular werden diverse Komponenten gezeigt (StringGrid, Panels, Buttons, Labels etc.) und von einem Bediener benutzt, der in einem Fahrzeug sitzt. Nachts blendet die Darstellung auch noch, wenn man die Laptop-Helligkeit an den Anschlag runterdreht. Meine Vorstellung ist, auf Knopfdruck eine Nachtdarstellung zu bekommen. Nachtdarstellung soll bedeuten, dass die Inhalte des Formulars (durchgehend Schwarz/Weiss) invertiert werden (aus schwarz wird weiss und umgekehrt). Ich habe schon Experimente mit InvertRect angestellt. Bin aber unzufrieden, weil ich jede Komponente für sich invertieren müsste. Wenn man ein Panel drüberlegt und invertiert, kann man nichts mehr bedienen.
Jetzt meine Frage: Gibt es eine Methode einen kompletten Formularinhalt elegant zu invertieren (und wieder zurück)? wenn ja, welche Methode? (das Prog soll unter XP und Win7 laufen)
Danke schon jetzt für eure Tips!
|
| |
|
|
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
|
|
baka0815
      
Beiträge: 452
Erhaltene Danke: 10
Win XP, Debian GNU/Linux
Delphi 2007 Enterprise, Java, C#
|
Verfasst: Di 13.12.11 12:52
Es müsste funktionieren, wenn du alle Controls des Fensters durchläufst und dann jedes invertierst.
|
| |
|
|
Tropby
       
Beiträge: 71
Erhaltene Danke: 4
Vista, Win XP, Win 89
Turbo Delphi Ex.
|
Verfasst: Mi 14.12.11 11:25
Hallo,
ich würde das ganze etwas anders lösen. Invertieren verfälscht ja schon sehr die Farben. Und ob es da gerade dunkler wird hängt von der Oberfläsche ab. Buttons selbst haben ja z.B. garkeinen Color Wert. Ich würde es wohl eher so lösen:
Im Grunde wird jede Farbe halbiert. Man könnte auch noch anderes machen. Hierbei kann es aber sogar ganz kleine abweichungen bei der wieder hellmach rotine geben (Rundungsfehler).
Gruß
Tropby
_________________ Tropby
Für diesen Beitrag haben gedankt: Bastler
|
| |
|
|
bummi
      
Beiträge: 979
Erhaltene Danke: 124
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: Mi 14.12.11 11:32
na wenn dimmen langt würde ich folgendes bevorzugen.
Ein neues duchklickbares, semitransparentes Form drüberlegen
_________________ Das Problem liegt üblicherweise zwischen den Ohren
DRY DRY KISS
Für diesen Beitrag haben gedankt: Bastler
|
| |
|
|
trm
       
Beiträge: 312
Erhaltene Danke: 7
Windows 7x64
Delphi 7
|
Verfasst: Fr 16.12.11 04:42
Hallo,
eine andere Möglichkeit wäre, wenn Dein Programm die Farben vererbt und nicht für jedes Object eine eigene Farbe benutzt, die Form-Farben zu ändern.
Somit kannst Du
Form1.Color := clBlack;
Form1.Font.Color := clWhite;
nutzen und dies bei Bedarf zurücksetzen.
Schöner ist es allerdings mit Näherungen zu arbeiten, um Kontraste von Komplementärfarben besser zu erhalten, da die oftmals genannte Variante ( Komplementaer := ColorToRGB(Original) xor $FFFFFF; ) bei Graustufen nicht mehr funktioniert.
Probier es dann mal damit (gefunden auf www.delphigroups.info/2/10/314913.html):
Verwendet werden kann das folgendermaßen:
Viel Erfolg 
_________________ In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
Für diesen Beitrag haben gedankt: Bastler
|
| |
|
|
Bastler 
Hält's aus hier
Beiträge: 11
Erhaltene Danke: 1
|
Verfasst: Fr 02.03.12 14:10
Coole Beiträge. Danke! auf die Schnelle, konnte ich das transparente Fenster am einfachsten umsetzen. Die Vererbung werde ich mir mal ansehen!
|
| |
|
|
trm
       
Beiträge: 312
Erhaltene Danke: 7
Windows 7x64
Delphi 7
|
Verfasst: Fr 02.03.12 14:32
Na, das ging aber schnell mit Deiner Antwort
Schönes Wochenende 
_________________ In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
|
| |
|
|
Perlsau
       
Beiträge: 59
Erhaltene Danke: 4
Win XP pro
Radstudio 2009 pro
|
Verfasst: Fr 02.03.12 17:10
Bastler hat folgendes geschrieben : | | Meine Vorstellung ist, auf Knopfdruck eine Nachtdarstellung zu bekommen. |
Vielleicht wäre ja dieser Forenbeitrag etwas für dich: www.delphi-forum.de/...steuern_97212,0.html
Hier steht noch Genaueres: msdn.microsoft.com/e...2656%28VS.85%29.aspx
_________________ Die Tränen, die du nicht weinen willst, müssen andere für dich vergießen. (frei nach: Wer nicht leiden will, muß hassen)
|
| |
|
|