кому не лень, попинайте в разных виндах
теория
известно что цвет текст-гаджета совпадает с цветом окна
известно что константа #COLOR_MENU возвращает цвет которым красится текст-гаджет
вот такая цепочка
проверил в 7 и 10, но у вас наверняка винда с другими настройками
EnableExplicit
Global win1, fnt, but1
fnt = (-MulDiv_(19, GetDeviceCaps_(GetDC_(0), #LOGPIXELSY), 72))
fnt = CreateFont_(fnt, 0, 0, 0, #FW_BOLD, 0, 0, 0, #DEFAULT_CHARSET, 0, 0, #PROOF_QUALITY, 0, "Courier New")
Procedure myCallback(hwnd, msg, wParam, lParam)
Protected res, br
res = #PB_ProcessPureBasicEvents
Select msg
Case #WM_CTLCOLORSTATIC
;{
If lParam=but1
SetBkMode_(wParam, #TRANSPARENT)
SetTextColor_(wParam, 222)
br=GetStockObject_(#DC_BRUSH)
SelectObject_(wParam, br)
SetDCBrushColor_(wParam, GetSysColor_(#COLOR_MENU)); +9 и фон меняется
ProcedureReturn br
EndIf
;} = #WM_CTLCOLORSTATIC
EndSelect; = msg
ProcedureReturn res
EndProcedure
Procedure senior()
Protected ev, f1
win1=OpenWindow(1234, 870, 690, 500, 310, "text")
SetWindowCallback(@MyCallback())
f1=#WS_CHILD|#WS_VISIBLE|#BS_AUTOCHECKBOX|#WS_BORDER
but1=CreateWindow_(#WC_BUTTON, "check1", f1, 10, 70, 320, 50, win1, 0, 0, 0)
SendMessage_(but1, #WM_SETFONT, fnt, 1)
SetWindowTheme_(but1, @"", @"")
Repeat
ev=WaitWindowEvent()
If GetAsyncKeyState_(#VK_ESCAPE)=32768:Break:EndIf
Until ev=#PB_Event_CloseWindow
EndProcedure
senior()