Entweder bilde ich mir das ein oder es liegt an meiner Grafik-Karte oder es liegt an Win-7 oder...![]()
Wenn mit Create("Edit",..... eine Eingabe erzeugt wird, ist die Ansicht auf einem Dialogfenster kaum zu sehen.
Das Dialogfenster ist fast genau so weiß wie die Edit-Zeile.
Finde ich nicht gut.
Kann man das ändern ohne "Startpaint X&" zu bemühen ![]()
Edit-Anzeige unter Win-7
-
horst_ -
18. November 2009 um 07:45
-
-
- Gerade eben
- Anzeige
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden
Hinweis:
-
Du könntest eine andere Hintergrundfarbe einstellen.
-
Frank
die Frage bezog sich auf Dialog-Fenster. Die haben einen festen Hintergrund. Bis ...XP war der immer hellgrau und man konnte die Editzeilen gut erkennen.
Jetzt sind die Dialoge fast weiß.
Um das zu ändern, müsste ich "Startpaint dialog&" benutzen. Dann hab ich aber das Problem, daß %WMPAINT mit der neuen Farbe die Edit-Dialoge übermalt.
Einzige Möglichkeit, die mir einfällt, wäre die:
das Dialogfenster bei jedem %WMPAINT-Aufruf total zu löschen und dann erneut aufzubauen.
Dann gehen mir aber im ungünstigsten Fall die Inhalte der Edit-Eingaben "flöten"
Darum möchte ich kein "STARTPAINT dialog&" benutzen.
Dachte, daß es da vielleicht einen Trick gibt, der die von Windows-7 eingestellte Farbe ändert ??? -
...oder subclassen und auf WM_CTLCOLORDLG reagieren.
-
Hat Windows 7 keine Themen mehr, wenn ja kann man doch dort einiges tun um die Farbe zu verändern. ich benutze unter XP ein Theme das auch die Dialogboxen fast weiß macht.
-
Zitat
Dachte, daß es da vielleicht einen Trick gibt, der die von Windows-7 eingestellte Farbe ändert ???
Den gibt es, Horst. Vielleicht inspiriert dich das ja:
Code
Alles anzeigen'(w) Frabbing für Paules PC-Forum ' $H windows.ph Declare a#,b# Dim a#,4 Dim b#,4 Cls Var x&=Create("Window",%HWnd,"Dialogfenster",80,90,180,200) Var y&=~GetSysColor(~COLOR_BTNFACE) Long a#,0=~COLOR_BTNFACE Long b#,0=Rgb(255,200,80) ~SetSysColors(1,a#,b#) WaitInput Long a#,0=~COLOR_BTNFACE Long b#,0=y& ~SetSysColors(1,a#,b#) Dispose a#,b# End
P.S.: Funktioniert übrigens mit allen Systemfarben, z.B. Menüfarben usw.
-
Zitat von Frabbing;745629
Den gibt es, Horst. Vielleicht inspiriert dich das ja:
P.S.: Funktioniert übrigens mit allen Systemfarben, z.B. Menüfarben usw.Genau ! Und wenn so ein Programm bei mir meine Systemfarben verändert fliegt es sofort wieder riunter.
-
Zitat von Andreas Miethe;745632
Genau ! Und wenn so ein Programm bei mir meine Systemfarben verändert fliegt es sofort wieder riunter.
Bei mir übrigens auch. Aber Horst hat ja genau danach gefragt.

Für den eigenen Gebrauch ist es aber ok. -
Frank - Danke
ZitatZitat von Andreas Miethe[Blockierte Grafik: http://www.paules-pc-forum.de/forum/images/buttons/viewpost.gif]
Genau ! Und wenn so ein Programm bei mir meine Systemfarben verändert fliegt es sofort wieder riunter....aber nach dieser "brutalen" Drohung von Andreas hab ich den Code umgeschreiben. Nun findet alles auf dem Hauptfenster statt.
Ist das so OK - Andreas ?
[Blockierte Grafik: http://s1.postimage.org/1moEH0.jpg] -
Zitat von horsthorn;745664
Frank - Danke

...aber nach dieser "brutalen" Drohung von Andreas hab ich den Code umgeschreiben. Nun findet alles auf dem Hauptfenster statt.
Ist das so OK - Andreas ?
Na klar, solange meine Systemeinstellungen nicht veändert werden

-
Hallo Horst,
hier ein kleines Beispiel für eine farbige DialogBox.
Code
Alles anzeigen$H Messages.ph $H Windows.ph Declare Brush&,Ende&,Edit&,Button& cls Set("Fastmode",1) CreateColorDialog(0,0,300,200,"Dialog",$6CB6FF) Set("Fastmode",0) Whilenot Ende& Waitinput EndWhile Proc CreateColorDialog Parameters x%,y%,w%,h%,Text$,Color& Brush& = ~CreateSolidBrush(Color&) Struct DLG = style&,dwExtendedStyle&,cdit%,x%,y%,w%,h%,menu%,class%,title& Var BS# = New(DLG) Clear BS# BS#.style& = ~WS_POPUP | ~WS_BORDER | ~DS_MODALFRAME | ~WS_CAPTION | ~DS_CENTER BS#.x% = x% BS#.y% = y% BS#.w% = w% BS#.h% = h% ~DialogBoxIndirectParam(%hinstance,BS#,%hwnd,ProcAddr("MyClassProc",4),Addr(Text$)) EndProc Proc MyClassProc Parameters wnd&,msg&,wparam&,lparam& If msg& = ~WM_INITDIALOG Edit& = Create("Edit",Wnd&,"Editier mich",10,10,200,20) Button& = Create("Button",wnd&,"Ende",10,40,80,24) ~SetWindowText(wnd&,lParam&) Return 0 Endif If msg& = ~WM_CTLCOLORDLG Return Brush& Endif If msg& = ~WM_COMMAND If lParam& = Button& ~DeleteObject(Brush&) ~EndDialog(Wnd&,1000) Endif EndIf Return 0 EndProc -
Tjo Horst, wenn man nicht ab und an auf meiner Seite unter Meine Profancodes schaut, dann muss man halt lange fragen

Dort ist z.B. ein Code, welcher mit Profanen Mitteln ein Dialog färbt. Ich als Staticfetischist
habs ganz einfach gelöst. Schau dort mal, da ich weis, dass Du gerne wie ich Profan arbeitest. -
Ich vermute, es könnte vielleicht diverse Probleme geben, wenn ein Static das Dialogfenster ganz verdeckt. Eventuell Mouseclicks, die verschluckt werden oder diverse Tastaturmessages. Auf jeden Fall aber Notifies...

-
hallo an Alle
Zuerst einmal Danke für die Hilfe
Nun werde ich mal experimentieren.
Schließlich soll die Farbveränderung nur in meinem Programm stattfinden und nicht das System verändern
(sonst steigt mir Andreas auf den Kopf
)...bis denne...
-
Hallo,
ich für meinen Teil schätze es sehr, wenn die Programme meine Systemeinstellungen nutzen, d.h. die Dialoge so anzeigen, wie ich es eingestellt habe, die Hauptfenster so anzeigen, wie ich es eingestellt habe, etc.
Windows gibt mir die Möglichkeit, sein Aussehen nahezu vollständig nach meinem Gusto und meinen Sehgewohnheiten anzupassen. Ich erwarte, dass alle Programme dies respektieren und diese Einstellungen auch nutzen. Wenn ich weiße Dialogboxen eingstellt hätte, dann will aich auch alle Dialogboxen in weiß haben! Und wenn ein Sehbehinderter sie in kontrastreichem schwarz/weiß einstellt, dann will er auch alle in schwarzz/weiß haben und braucht bestimmt keine Programme, die da wieder Extrawürste bruzzeln.Gruß
Roland -
Zitat von RGH;745758
Hallo,
ich für meinen Teil schätze es sehr, wenn die Programme meine Systemeinstellungen nutzen, d.h. die Dialoge so anzeigen, wie ich es eingestellt habe, die Hauptfenster so anzeigen, wie ich es eingestellt habe, etc.
Windows gibt mir die Möglichkeit, sein Aussehen nahezu vollständig nach meinem Gusto und meinen Sehgewohnheiten anzupassen. Ich erwarte, dass alle Programme dies respektieren und diese Einstellungen auch nutzen. Wenn ich weiße Dialogboxen eingstellt hätte, dann will aich auch alle Dialogboxen in weiß haben! Und wenn ein Sehbehinderter sie in kontrastreichem schwarz/weiß einstellt, dann will er auch alle in schwarzz/weiß haben und braucht bestimmt keine Programme, die da wieder Extrawürste bruzzeln.Gruß
Roland...da dürfen aber auch die Begriffe "künstlerische Freiheit" und "besserer Kontrast" nicht vergessen werden ! - Zumal im meinem Programm eine 'Programm-Einstellung' vorhanden ist, in der der User nach eigenen Vorstellungen sich seine Ansicht zurecht stricken kann - Nur hatte mir eine Möglichkeit gefehlt, das auch auf die Dialogfenster-Farben auszudehnen. Das habe ich ja jetzt dank der freundlichen Hilfe einiger XProfaner -

PS: ...ich will dir nicht deine Windows-Einstellung "zerschießen", sondern MEIN Programm soll so eingestellt werden können, wie es dem jeweiligen Anwender passt.
Wenn du weiße Dialogfenster liebst, OK, dein Ding.
Wenn ein anderer auf pinkfarbener Ansicht steht, soll er das mit der Oberfläche meines Programmes darstellen können OHNE die Windows-Einstellung zu verändern ! -
Sobald mein Programm bendet wird, soll alles wieder so sein, wie Windows es will ! -Im Beispiel 5 Variationen des gleichen Programmes. Die Farben sind willkürlich und unendlich über den Farbdialog zu wählen. Hier wird die LISTVIEW.DLL von Frank abgeändert. Das soll aber auch mit Dialogfenstern möglich sein.
-
Hallo Horst,
verstehe mich nicht falsch: Natürlich spricht nichts dagegen, wenn Dein Programm unabhängig von den Systemeinstellungen eigene Einstellungen erlaubt. Im Gegenteil: Oftmals ist dies sehr praktisch, da manche Programme mit einer alternativen Einstellung besser nutzbar sind. Und ich schätze es sehr, wenn Programme, mit denen ich häufig arbeite, diese Möglichkeit bieten.
Mir geht es eher darum, dass ein solches Programm defaultmäßig zunächst meine Systemeinstellungen nutzt und mir die Entscheidung überläßt, ob ich für dieses Programm davon abweichen will oder nicht. Ich fände es nur nervig, wenn jedes Programm zunächst mit den Farbvorlieben seines jeweiligen Entwicklers startet, und ich es erst mehr oder weniger mühsam so einrichten muß, dass es meinen wohlüberlegt gewählten Systemeinstellungen entspricht. Sehr positiv empfinde ich es hingegen, wenn ein Programm zunächst im Standard-Look startet, mir dann aber weitreichehde Einstellungsmöglicheiten oder Skins bietet, um es nach meinem Gusto anzupassen.
Gruß
Roland -
roland
Na dann sind wir uns ja einig -
Mein Programm hat beim 1.Start immer die Windows-Standard-Einstellung in seiner *.ini-Datei.
Ändert der User nichts, bleiben die auch.
Sollte geändert werden, können innerhalb der 'Programm-Einstellung' mit Klick auf den "Standard"-Button die Windows-Einstellungen wieder zurück gestellt werden.
Im angezeigten Programm wird mit den Explorer-Einstellungen (schwarz auf weiss) gestartet. -
Hier eine weitere Lösung:
http://www.paules-pc-forum.de/forum/speziell…logfenster.html -
Bei mir in Win7 ist der Hintergrund der Dialoge auch Grau. Kommt halt darauf an wie man das System einstellt.
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!