mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Fix EnableDarkTitlebar being called before handle is created
This commit is contained in:
parent
71bfdd8ba4
commit
6b88125b46
2 changed files with 9 additions and 3 deletions
|
@ -71,13 +71,13 @@ public void Dispose()
|
|||
}
|
||||
}
|
||||
|
||||
public static bool EnableDarkTitlebar(Form form, bool enabled)
|
||||
public static bool EnableDarkTitlebar(IntPtr handle, bool enabled)
|
||||
{
|
||||
if (Helpers.IsWindows10OrGreater() && Helpers.IsWindowsBuildOrGreater(17763))
|
||||
{
|
||||
try
|
||||
{
|
||||
NativeMethods.SetWindowAttribute(form.Handle, WindowAttribute.DWMWA_USE_IMMERSIVE_DARK_MODE, enabled);
|
||||
NativeMethods.SetWindowAttribute(handle, WindowAttribute.DWMWA_USE_IMMERSIVE_DARK_MODE, enabled);
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
|
|
|
@ -66,6 +66,8 @@ private void MainForm_HandleCreated(object sender, EventArgs e)
|
|||
{
|
||||
TaskHelpers.OpenActionsToolbar();
|
||||
}
|
||||
|
||||
DWMManager.EnableDarkTitlebar(Handle, ShareXResources.UseDarkTheme);
|
||||
}
|
||||
|
||||
private void InitializeControls()
|
||||
|
@ -761,7 +763,11 @@ private void UpdateTaskViewMode()
|
|||
|
||||
private void UpdateTheme()
|
||||
{
|
||||
DWMManager.EnableDarkTitlebar(this, ShareXResources.UseDarkTheme);
|
||||
if (IsHandleCreated)
|
||||
{
|
||||
DWMManager.EnableDarkTitlebar(Handle, ShareXResources.UseDarkTheme);
|
||||
}
|
||||
|
||||
if (ShareXResources.UseDarkTheme)
|
||||
{
|
||||
tsMain.Renderer = new ToolStripDarkRenderer();
|
||||
|
|
Loading…
Reference in a new issue