Files
@ 61b779113422
Branch filter:
Location: seniordesign-ui/Demo.WindowsForms/BSE.Windows.Forms/XPander/DisplayInformation.cs - annotation
61b779113422
1.9 KiB
text/x-csharp
add functinality to data tab. not complete but is mostly working
65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 65c134a3d619 | using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Win32;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Windows.Forms.VisualStyles;
using System.IO;
using System.Text.RegularExpressions;
namespace BSE.Windows.Forms
{
static class DisplayInformation
{
#region FieldsPrivate
[ThreadStatic]
private static bool m_bIsThemed;
private const string m_strRegExpression = @".*\.msstyles$";
#endregion
#region Properties
internal static bool IsThemed
{
get { return m_bIsThemed; }
}
#endregion
#region MethodsPrivate
static DisplayInformation()
{
SystemEvents.UserPreferenceChanged += new UserPreferenceChangedEventHandler(DisplayInformation.OnUserPreferenceChanged);
DisplayInformation.SetScheme();
}
private static void OnUserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e)
{
DisplayInformation.SetScheme();
}
private static void SetScheme()
{
if (VisualStyleRenderer.IsSupported)
{
if (!VisualStyleInformation.IsEnabledByUser)
{
return;
}
StringBuilder stringBuilder = new StringBuilder(0x200);
int iResult = NativeMethods.GetCurrentThemeName(stringBuilder, stringBuilder.Capacity, null, 0, null, 0);
if (iResult == 0)
{
Regex regex = new Regex(m_strRegExpression);
m_bIsThemed = regex.IsMatch(Path.GetFileName(stringBuilder.ToString()));
}
}
}
#endregion
static class NativeMethods
{
[DllImport("uxtheme.dll", CharSet = CharSet.Unicode)]
public static extern int GetCurrentThemeName(StringBuilder pszThemeFileName, int dwMaxNameChars, StringBuilder pszColorBuff, int dwMaxColorChars, StringBuilder pszSizeBuff, int cchMaxSizeChars);
}
}
}
|