diff --git a/PKHeX.WinForms/Program.cs b/PKHeX.WinForms/Program.cs index aa97949f1..c91f56e53 100644 --- a/PKHeX.WinForms/Program.cs +++ b/PKHeX.WinForms/Program.cs @@ -39,6 +39,8 @@ static Program() if (Settings.Startup.DarkMode) Application.SetColorMode(SystemColorMode.Dark); + if (Settings.Startup.HighDpiText) + Application.SetHighDpiMode(HighDpiMode.DpiUnawareGdiScaled); } [STAThread] diff --git a/PKHeX.WinForms/Settings/StartupSettings.cs b/PKHeX.WinForms/Settings/StartupSettings.cs index 0d98eb505..a320d513e 100644 --- a/PKHeX.WinForms/Settings/StartupSettings.cs +++ b/PKHeX.WinForms/Settings/StartupSettings.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.ComponentModel; +using System.Windows.Forms; using PKHeX.Core; namespace PKHeX.WinForms; @@ -12,11 +13,14 @@ public sealed class StartupSettings : IStartupSettings public string Version { get; set; } = string.Empty; [LocalizedDescription("Use the Dark color mode for the application on startup.")] - public bool DarkMode { get; set; } + public bool DarkMode { get; set; } = Application.SystemColorMode == SystemColorMode.Dark; // auto-detect for new settings, json load preserves any choice. [LocalizedDescription("Force HaX mode on Program Launch")] public bool ForceHaXOnLaunch { get; set; } + [LocalizedDescription("Toggles a higher Dpi rendering mode for the application on startup.")] + public bool HighDpiText { get; set; } // opt-in + [LocalizedDescription("Skips displaying the splash screen on Program Launch.")] public bool SkipSplashScreen { get; set; }