Closed Wynadorn closed 6 months ago
The system must be configured classically, the display of unique classes that do not have an analogue may be different. Edit: A drawing from the author of dsp2003, sent to me
I've done some testing, it can be done via SetWindowTheme
in uxtheme.h
HRESULT SetWindowTheme(
[in] HWND hwnd,
[in] LPCWSTR pszSubAppName,
[in] LPCWSTR pszSubIdList
);
uxtheme::SetWindowTheme(hwnd, "", "");
@Wynadorn yep, empty strings will make the classic style, nullptrs will return the default style. This is what it will look like, for implementation need to use hook of all windows as dark mode does.
Can make a separate, incompatible mode, I don't know at all.. this purely for funs....
Challenge...
Ah don't bother unless you want it for yourself, I've settled on running a script to patch the window styles
I do think it looks a lot better, no shadows overlapping
The frame is too thick...
Hmm, unsure what's causing that, it's either the theme metrics, those control the padding on title bars too
But it could also be the form border style
Yeah looks like it's the active theme that's causing the border, https://learn.microsoft.com/en-us/windows/win32/controls/themesfileformat-overview
I think the active theme is somewhere in registry, but that value is system wide, it also controls, for example, the padding of the title bar text
I guess uxtheme.dll can be used to overwrite the active theme but I have nooooo idea how
Preview bugs persist. So the window flicker, not the update in the preview will remain. It is fixed only in the dark theme.
b480091 !! 😯 looking forward to try it out, only have a c# toolchain installed atm
When setting the window colors via an external tool (I used Simple Classic Theme, which is buggy) you can see how these affect classic mode.
Here's an example with the high contrast theme:
And here with classic:
A bit of history: 😜
In the past Windows featured pretty extensive theming, which the creation kit still has support for.
For example Microsoft sold Windows 95 Plus!
which came with various themes, like the Inside Your Computer theme:
It included a screensaver, desktop icons, sounds, desktop background.
Here's what a theme config file looks like:
Most of these values are actually still used even in Windows 11 to this day.
Now all applications have become web, not native. It doesn't make much sense anymore. Download the next release and take a look. I don't write in C#.
The system will do better than just uxtheme. :( Edit: Anyway, the second snapshot is better than mine.
Say an old video today and what i noticed right away was him having the original window styles, It'd be amazing if there's a way to force the CK to use this style.
I've attempted to do this though the visual styles compatibility setting however with no result. (see link for info)
Maybe setting the dialog style though a P/Invoke could do the trick.