Override the dark / light state programmatically. Use to add a Light / Dark toggle to an application that does not want to follow the Windows "Choose your mode" setting.
C
void SftDarkMode_SetActive(BOOL fDark);
fDark
TRUE to set dark mode active, FALSE to set light mode.
SetActive only updates the cached state read by SftDarkMode_IsActive and used by the ApplyTo* and HandleDialogMessage functions. It does not re-theme already-shown dialogs or controls - the application must call SftDarkMode_ApplyToDialog on every visible dialog after toggling the state.
If the application also forwards Windows WM_SETTINGCHANGE / ImmersiveColorSet through SftDarkMode_HandleDialogMessage, the cached state is overwritten by whatever the user selects in Windows Settings. Applications that expose their own toggle should typically choose one model: either follow Windows, or override.
Per-Softel-vdm-control note: SetActive sets the global helper state. To make a Softel vdm control mirror the global state, set its own nDarkMode to AUTO (so it follows Windows) or call its SetDarkMode method explicitly with ON / OFF when the toggle changes.
See Also Init | IsActive | ApplyToDialog