Visual Style-abhängige Hintergrundfarbe von Panels ermitteln
Übersicht

![]() |
KnorxThieusBetreff: Visual Style-abhängige Hintergrundfarbe von Panels ermitteln |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ich bediene mich der Funktion NiceLabel aus der BlitzBasic.com Community, um die Textfarbe zu ändern. Allerdings möchte ich die Hintergrundfarbe so lassen, wie es die Voreinstellung bei Labels und Panels ist. Normalerweise ist das ja weiß, aber wenn man Visual Styles eingespielt hat, ist das nicht unbedingt so... Wie ermittle ich diese Farbe? In der Registry gespeichert? Zeichnen und aus DesktopBuffer ![]() Das Zeichnen & Ermitteln hat nicht recht geklappt: BlitzBasic: [AUSKLAPPEN] Function GetPanelBackGroundColor(mode = 0) Aufruf im Programm: BlitzBasic: [AUSKLAPPEN] label4=CreateNicelabel("Whop!",100,260,192,22,app) Da kommt immer 0 also schwarz, raus... Wie geht es / besser? Bin jeder Hilfe oder Denkanstoß dankbar! ![]() MFG |
||
Version: BlitzPlus / Blitz+ |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
dazu gibt es in der WinAPI GetSysColor COLOR_BTNFACE müsste die Farbe sein, die du suchst. Wenn nicht musst du einfach mal durchprobieren. MFG |
||
![]() |
KnorxThieus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Na das ist doch genau was ich dachte! Danke! Habe das mal auf einem Windows-8-PC, wo es weiß ist, und dann einem Windows-7, wo es nicht weiß ist, ausprobiert, aber er (BlitzBasic: [AUSKLAPPEN] Notify Hex$(api_GetSysColor(15))gibt immer Code: [AUSKLAPPEN] 00F0F0F0 aus! Das wäre ja aber nicht RGB jeweils 255! (EDIT: Habe noch mal nahcgerechnet, 240. Könnte das sein? Oder ist das was anderes?? EDIT2: Beim anderen Gerät aber auch 240. ![]() COLOR_BTNFACE, habe ich geschaut, ist 15. Wieso ist COLOR_3DFACE aber auch 15? Und wieso kommt bei beiden geräten derselbe wert raus? Habe jetzt noch mit Wert 5, COLOR_WINDOW, ausprobiert, da kommt wieder bei beiden 00FFFFFF. Also danke erstmal, aber ich würde mich über weitere Hilfe freuen! ![]() MFG |
||
Version: BlitzPlus / Blitz+ |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auf einem Windows 8 PC ist COLOR_BTNFACE in den Standardeinstllungen auch nicht weiß. Die Farben beziehen sich auf den Desktopmodus.
Dass COLOR_BTNFACE und COLOR_3DFACE zusammen fallen kann gut sein, da musst du dich nicht weiter dran stören. Du kannst die Farbe von deinem gewünschten Element in der Systemsteuerung einfach mal auf pink stellen und dann siehst du ganz einfach ob deine Ausgabe stimmt. (F0hex=240dec, ja ![]() |
||
![]() |
KnorxThieus |
![]() Antworten mit Zitat ![]() |
---|---|---|
O, danke, ja! Habe mal im Windows 8 auf Classic gestellt, Werte sind anders.
Ich habe also jetzt Screenshots von beiden Pcs gemacht, tatsache 240, also gleich!!! ![]() Aber auf dem mit Windows 7 - selbst beim Original Visual Style sehe ich Kontrast zwischen NiceLabel und normalem Hintergrund, 255 und 240, auf Windows 8 keinen Kontrast!!! O Mann, ich kapier gar nix mehr... sidn bloß die BILDSCHIRME so verschieden?? Tatsache ist jedenfalls, verzeihe bitte, dass ich stupide Fragen gestellt habe, Problem gelöst, NiceLabel-Hintergrundfarbe mit dieser Funktion ermitteln: BlitzBasic: [AUSKLAPPEN] bg_r = ConvertARGB_R(api_GetSysColor(15)) Also nochmals, lieber Starwar, vielen Dank für deine Hilfe und verzeih mir meine Dummheit... mfg EDIT: Achso, noch eine Frage... ist nIndex bei disableten Labels 16, oder bleibt es gleich? Gelegentlich disable ich meine Nicelabels. |
||
Version: BlitzPlus / Blitz+ |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe im gesamten Thread keine stupiden Fragen gefunden ![]() |
||
![]() |
KnorxThieus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Doch... einfach nicht bemerkt, dass der Bildschirm schuld ist...
Und ist nIndex bei disableten Labels 16, oder bleibt es gleich? Gelegentlich disable ich meine Nicelabels. |
||
Version: BlitzPlus / Blitz+ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group