WildByDesign Posted May 30 Author Posted May 30 On 5/27/2026 at 12:51 PM, argumentum said: 24H2 is worse, with the GUICtrlCreateCheckbox() not changing the text color. Can you please share the build and revision for the system(s) that still show black as the text color for a checkbox control? ConsoleWrite("OSBuild with Revision: " & _GetOSBuild() & @CRLF) Func _GetOSBuild() Local $__DM_g_iRevision = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "UBR") Return @OSBuild & "." & $__DM_g_iRevision EndFunc I need to get an idea of which revision Microsoft added the TEXTCOLOR value to their aero.msstyles theme file. I know for sure that as long as __DM_DarkThemeAvailability() indicates support for DarkMode_DarkTheme, then we have no issues with Checkbox, Radio, or Group. But if it is not available, we use DarkMode_Explorer which had checkbox support but MS neglected to add TEXTCOLOR value. Sometime around 25H2, they finally added the value. MS still has not added TEXTCOLOR value for Radio controls in DarkMode_Explorer, so we would still have to subclass that on affected OS builds. At the moment, we remove the theme from Radio controls on affected builds. But as soon as the subclass is complete, we will have beautiful radio controls. For anyone that is using Windows 11 24H2 or earlier Win11 builds that show black text for the checkbox control, I am working on a subclass for Checkbox and Radio controls over in this help thread to fix those controls on the OS builds that MS had neglected. argumentum 1
argumentum Posted May 30 Posted May 30 WildByDesign 1 Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting
WildByDesign Posted Monday at 12:27 PM Author Posted Monday at 12:27 PM GUIDarkTheme 2.9.0 Added custom dark theme support for SysLink controls Added custom dark theme support for Progress controls Added internal function __DM_GetThemeDetails() for debugging issues Fixed issue with checkbox/radio buttons showing black text on earlier Windows 11 builds Issue affected Windows 11 21H2 to 24H2 (MS fixed it halfway through 24H2/25H2 development) Latest download available in the first post of the topic. xuankhanh1982 and argumentum 2
xuankhanh1982 Posted Tuesday at 01:54 AM Posted Tuesday at 01:54 AM @WildByDesign In version 2.9.0 "GUICtrlCreateProgress" cannot be hidden.
argumentum Posted Tuesday at 03:15 AM Posted Tuesday at 03:15 AM to be or not to be 🤔 ..if you hide it after _GUIDarkTheme_ApplyDark() it will hide it but, if is before, it does not. Hence a check on the visibility of the control is needed for when applying the colors 🤔 For now maybe ... _GUIDarkTheme_ApplyDark($Form1) GUICtrlSetState($idProgressError, $GUI_HIDE) GUISetState(@SW_SHOW) ... until he thinkers with it. Thanks for being a good beta tester @xuankhanh1982 This is teaser: Spoiler of what he's putting together WildByDesign and xuankhanh1982 2 Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting
xuankhanh1982 Posted Tuesday at 04:27 AM Posted Tuesday at 04:27 AM 1 hour ago, argumentum said: to be or not to be 🤔 ..if you hide it after _GUIDarkTheme_ApplyDark() it will hide it but, if is before, it does not. Hence a check on the visibility of the control is needed for when applying the colors 🤔 For now maybe ... _GUIDarkTheme_ApplyDark($Form1) GUICtrlSetState($idProgressError, $GUI_HIDE) GUISetState(@SW_SHOW) ... until he thinkers with it. Thanks for being a good beta tester @xuankhanh1982 This is teaser: Reveal hidden contents of what he's putting together If you say so, it will be very inconvenient. Version 2.8.1 doesn't have this error. I will try again using your method. Thank you for your feedback. argumentum 1
argumentum Posted Tuesday at 04:30 AM Posted Tuesday at 04:30 AM 1 minute ago, xuankhanh1982 said: I will try again using your method. Thank you for your feedback. ..again, is not a solution, but rather a hack to get by until he fix it 🤷♂️ xuankhanh1982 1 Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting
WildByDesign Posted Tuesday at 10:51 AM Author Posted Tuesday at 10:51 AM 7 hours ago, argumentum said: Thanks for being a good beta tester @xuankhanh1982 I agree, thank you. Your bug reports have always been very helpful and it benefits everyone. I will look into this issue and fix it.
WildByDesign Posted Tuesday at 11:04 AM Author Posted Tuesday at 11:04 AM 12 minutes ago, WildByDesign said: I will look into this issue and fix it. I have a fix for it now. I'm hoping to get a release out later today.
WildByDesign Posted Wednesday at 11:24 AM Author Posted Wednesday at 11:24 AM GUIDarkTheme 3.0.0 Added new Demo GUI - courtesy of @argumentum Modern looking groupbox, checkbox, and radio buttons for pre-25H2 OS Those controls notoriously had black text Checkbox and radio button subclassing by WildByDesign Groupbox subclassing by @argumentum Improved toolbar button border color Overall theme color consistency improvements for dark and light themes Fixed issue with hidden progress control showing on startup Latest download available in the first post of the topic. Demo.au3 is the new, modern GUI sample with more controls and a larger size which makes more sense for modern computers. It really put GUIDarkTheme UDF to the test. I still have to add dark mode for the HotKey (msctls_hotkey32) control and the IP Address (SysIPAddress32) control. This release was a significant amount of effort and would not have been possible without @argumentum's help. bladem2003, ioa747 and argumentum 3
WildByDesign Posted yesterday at 01:34 PM Author Posted yesterday at 01:34 PM GUIDarkTheme 3.1.0 Added dark mode support for IP Address (SysIPAddress32) control Added __GUIDarkTheme_IPAddrProc() internal subclass procedure function Thanks to @argumentum for creating __GUIDarkTheme_IPAddrProc() Added dark mode support for Hot Key (msctls_hotkey32) control Added __GUIDarkTheme_HotkeyProc() internal subclass procedure function Thanks to @argumentum for creating __GUIDarkTheme_HotkeyProc() Improved font used by SysLink control Latest download available in the first post of the topic. argumentum and bladem2003 2
bladem2003 Posted 6 hours ago Posted 6 hours ago (edited) On 4/25/2026 at 1:54 AM, bladem2003 said: While we're at it... When creating a child GUI, a white line will appear in the menu. #include "GuiCtrls_HiDpi.au3" #include "GUIDarkTheme.au3" $hGui = GUICreate("", 500, 300, -1, -1) GUISetState(@SW_SHOW, $hGui) Local $idMenuFile = GUICtrlCreateMenu("File ") GUICtrlCreateMenuItem("Open", $idMenuFile) GUICtrlCreateMenuItem("", $idMenuFile) GUICtrlCreateMenuItem("Exit", $idMenuFile) _GUIDarkTheme_ApplyDark($hGui) $hGuiChild = GUICreate("Child", 200, 100, -1, -1, -1, -1, $hGui) _GUIDarkTheme_ApplyDark($hGuiChild) GUISetState(@SW_SHOW, $hGuiChild) While 1 Sleep(10) $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then Exit WEnd Hi @WildByDesign I’m returning to the issue with the white menu. If you create a child GUI and don't activate it, or if you hide it, the menu remains white. Sometimes, a white line also appears when showing or hiding, add runtime, the child GUI. However, if you click on the child GUI to activate it, the white line disappears. #include "GUIDarkTheme.au3" $hGui = GUICreate("", 500, 300, -1, -1) GUISetState(@SW_SHOW, $hGui) Local $idMenuFile = GUICtrlCreateMenu("File ") GUICtrlCreateMenuItem("Open", $idMenuFile) GUICtrlCreateMenuItem("", $idMenuFile) GUICtrlCreateMenuItem("Exit", $idMenuFile) _GUIDarkTheme_ApplyDark($hGui) $hGuiChild = GUICreate("Child", 200, 100, -1, -1, -1, -1, $hGui) _GUIDarkTheme_ApplyDark($hGuiChild) GUISetBkColor(0xff0000) ;GUISetState(@SW_HIDE, $hGuiChild) GUISetState(@SW_SHOWNA, $hGuiChild) While 1 Sleep(10) $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then Exit WEnd Edited 6 hours ago by bladem2003
argumentum Posted 6 hours ago Posted 6 hours ago Is actually: GUISetState(@SW_SHOW, $hGui) _GUIDarkTheme_ApplyDark($hGui) ; fails vs.: _GUIDarkTheme_ApplyDark($hGui) ; ok GUISetState(@SW_SHOW, $hGui) ..at least that's what I see. bladem2003 1 Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting
argumentum Posted 5 hours ago Posted 5 hours ago ..I was doing other things 😅 #Region ; *** Dynamically added Include files *** #include <GUIConstantsEx.au3> ; added:06/06/26 13:52:53 #EndRegion ; *** Dynamically added Include files *** #include "GUIDarkTheme.au3" $hGui = GUICreate("", 500, 300, -1, -1) Local $idMenuFile = GUICtrlCreateMenu("File ") GUICtrlCreateMenuItem("Open", $idMenuFile) GUICtrlCreateMenuItem("", $idMenuFile) GUICtrlCreateMenuItem("Exit", $idMenuFile) _GUIDarkTheme_ApplyDark($hGui) GUISetState(@SW_SHOW, $hGui) $hGuiChild = GUICreate("Child", 200, 100, -1, -1, -1, -1, $hGui) _GUIDarkTheme_ApplyDark($hGuiChild) GUISetBkColor(0xff0000) ;GUISetState(@SW_HIDE, $hGuiChild) GUISetState(@SW_SHOWNA, $hGuiChild) While 1 ;~ Sleep(10) ; not needed nor recomended $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then GUIDelete($hGuiChild) ; to avoid "menu flash white" on close GUIDelete($hGui) Exit EndIf WEnd ..this is a better example on how to go about your code Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting
bladem2003 Posted 5 hours ago Posted 5 hours ago @argumentum Thanks. I was always under the impression that a sleep was necessary in the main while loop. argumentum 1
WildByDesign Posted 4 hours ago Author Posted 4 hours ago I think that the sleep is more for the OnEvent loops. Did @argumentum’s suggestion help or is there something that still needs to be fixed with the menubar and white line?
argumentum Posted 4 hours ago Posted 4 hours ago GUIGetMsg Remarks: This function automatically idles the CPU when required so that it can be safely used in tight loops without hogging all the CPU. WildByDesign 1 Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting
bladem2003 Posted 4 hours ago Posted 4 hours ago Yes, Argumentum's solution helped me. Thanks, @argumentum. I do have one issue, though, which I can't reproduce. Sometimes, a white line appears when showing or hiding, add runtime, the child GUI. But as I said, I can't reproduce it, so until I have something concrete, there isn't really anything to be done. argumentum 1
WildByDesign Posted 4 hours ago Author Posted 4 hours ago 10 minutes ago, bladem2003 said: Sometimes, a white line appears when showing or hiding, add runtime, the child GUI. Do you mean that the white line appears and stays white? Or is it a quick white line flicker?
bladem2003 Posted 4 hours ago Posted 4 hours ago (edited) The white line remains until I activate the child GUI or click on it with the mouse. This usually happens when the child GUI is shown with @SW_SHOWNA. Edited 4 hours ago by bladem2003
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now