Ich verwende clrTextBk
für die Hintergrundfarbe festlegen. Aber Windows-System haben viele Themen mit verschiedenen Standard-Hintergrundfarben. In Beispiel verwendet Windows XP Theme Farbe # 316ac5, klassische Theme verwenden Farbe, wie COLOR_HOTLIGHT
, # 0a246a, und viele andere Farbe, die als clrTextBk
verwendet. Ich kann GetSysColor
mit param COLOR_BACKGROUND
oder COLOR_DESKTOP
versuchen, aber diese Farben sind kein Standard für clrTextBk
. Wie bekomme ich Standard Hintergrundfarbe (clrTextBk
) für das aktuelle Thema?WinApi - Get Standard-Hintergrundfarbe
-2
A
Antwort
0
Antwort (danke Cody Grau und Andlabs):
clrTextBk
is a field ofNMLVCUSTOMDRAW
und ich brauchte Verwendung GetSysColor(COLOR_HIGHLIGHT)
, um Standard-Hintergrundfarbe des ausgewählten Textes zu erhalten.
Verwandte Themen
- 1. Ist die Standardhintergrundfarbe weiß oder transparent?
- 2. WinAPI AttachConsole?
- 3. Erhalte ausgewählte Ordner mit WinAPI
- 4. Skinning WinAPI Controls
- 5. Beschädigtes Winapi ausführbares Manifest
- 6. Normalisieren Dateipfad mit WinAPI
- 7. WinAPI zurück/vorwärts navigieren
- 8. WINapi. Kann nicht
- 9. WinAPI Ersatz für reg.exe
- 10. Node-webkit WinAPI
- 11. Button scalling in winapi
- 12. C-Bibliothek vs WinApi
- 13. Gesucht: WinAPI ruft Logger
- 14. Double buffering winAPI
- 15. winapi C++ GetAncestor/GetParent
- 16. winapi mouse_event false coords
- 17. Standardhintergrundfarbe von ListView-Element in Windows 10 UWP anzeigen?
- 18. Was ist eine gute Standardhintergrundfarbe für ein WPF-Dialogfeld?
- 19. So ändern Sie die Standardhintergrundfarbe der Callout-Sprechblase mit detailCalloutAccessoryView
- 20. Verwenden von CreateThread winapi in Powershell-Skript
- 21. Get Default Background Color
- 22. VB6/C++ WINAPI zu C#
- 23. WinForms - groupBox wie in WinApi
- 24. WinAPI create window in dll
- 25. WinApi - So erhalten Sie SHELLDLL_DefView
- 26. winapi minimierte Fensterbenachrichtigung (orange flushy)
- 27. winapi - Non-Sense-Datei Zeitstempel?
- 28. WinAPI Abwertung nach Windows 8.1
- 29. winAPI Funktionen aufrufen in vb.net
- 30. WinApi Fehlercode 193. Check 'evopdftohtml.dat'
Sie müssten das Thema api –
Vielen Dank. Ich versuche 'OpenThemeData (hMainWnd, PWideChar ('TEXTSTYLE'))' zu verwenden, aber das gibt Fehler: ** SIGSEGV **. –
Wie hat das überhaupt kompiliert? Sie können nicht mehr als ein tatsächliches Zeichen in einer Zeichenkonstante haben. Plus, das ist nicht einmal eine breite Zeichenfolge! Wie auch immer, ich bin mir nicht sicher, was deine Situation ist. Auf welcher Art von Oberfläche möchtest du malen? Eine Registerkarte? Der Nicht-Kundenbereich? Etwas anderes? Wenn du einen Screenshot erstellen könntest, würde das helfen. Sprechen Sie auch über Texthintergrundfarbe oder irgendeine andere Hintergrundfarbe? Die Standarddialog-Hintergrundfarbe ist 'COLOR_BTNFACE', auch wenn Theming aktiviert ist, aber Sie sollten sich darüber keine Gedanken machen müssen, je nachdem, was Sie gerade tun ... – andlabs