作成日: 2019/08/07 最終更新日: 2019/08/07
文書種別
使用方法
詳細
C1ThemeのGetColorメソッドを使用して、コントロールに適用されているテーマの前景色を取得することができます。GetColorメソッドのpath引数には、テーマに含まれる各要素のツリー階層のパスを文字列型で設定します。
例えば、Input for WinFormsのC1Buttonコントロールに適用されたテーマから、コントロールの文字色を取得するには、以下のような方法を用いることができます。
※最初に新規プロジェクトを作成し、C1Button、C1ThemeControllerを配置します。次いで、C1ThemeControllerのコンテキストメニューから「テーマの設定」を選択して、C1Buttonに任意のテーマを設定したのち、下記コードを追加します。
◎サンプルコード(VB)
◎サンプルコード(C#)
コントロールの背景色の取得するには、C1ThemeのGetEnumメソッドを使用します。引数には上記同様、各要素のツリー階層のパスを文字列型で設定します。このメソッドにより取得されるオブジェクトをThemeSolidBackground型に変換し、その.Color.Valueプロパティで実際の色を参照します。
◎サンプルコード(VB)
◎サンプルコード(C#)
なお、ツリー階層のパスは、C1Themeデザイナを使用して下記手順で確認することができます。
1. 以下の場所にインストールされたC1Theme デザイナを起動します。
C:¥Program Files (x86)¥ComponentOne¥Apps¥v4¥C1ThemeDesigner.4.exe
2. 既存テーマ、または新しいテーマを作成して開きます。
3. 左ペインのテーマツリーから目的のコントロールを選択し、ツリーを展開します。
4. 目的の色に対応するプロパティを見つけます。
例)C1FlexGridにおける標準時のセル境界線の色へのパスは、"C1FlexGrid¥Styles¥Normal¥Border¥Color"となります。
例えば、Input for WinFormsのC1Buttonコントロールに適用されたテーマから、コントロールの文字色を取得するには、以下のような方法を用いることができます。
※最初に新規プロジェクトを作成し、C1Button、C1ThemeControllerを配置します。次いで、C1ThemeControllerのコンテキストメニューから「テーマの設定」を選択して、C1Buttonに任意のテーマを設定したのち、下記コードを追加します。
◎サンプルコード(VB)
Imports C1.Win.C1Themes
……途中省略……
Dim forecolorC1Button As Color
Dim themeName As String = C1ThemeController1.GetTheme(C1Button1)
Dim C1Theme1 As C1.Win.C1Themes.C1Theme = C1.Win.C1Themes.C1ThemeController.GetThemeByName(themeName, False)
forecolorC1Button = C1Theme1.GetColor("C1Input¥C1Button¥Default¥ForeColor")
……途中省略……
Dim forecolorC1Button As Color
Dim themeName As String = C1ThemeController1.GetTheme(C1Button1)
Dim C1Theme1 As C1.Win.C1Themes.C1Theme = C1.Win.C1Themes.C1ThemeController.GetThemeByName(themeName, False)
forecolorC1Button = C1Theme1.GetColor("C1Input¥C1Button¥Default¥ForeColor")
◎サンプルコード(C#)
using C1.Win.C1Themes;
……途中省略……
Color forecolorC1Button;
string themeName = c1ThemeController1.GetTheme(c1Button1);
C1.Win.C1Themes.C1Theme c1Theme1 = C1.Win.C1Themes.C1ThemeController.GetThemeByName(themeName, false);
forecolorC1Button = c1Theme1.GetColor(@"C1Input¥C1Button¥Default¥ForeColor");
……途中省略……
Color forecolorC1Button;
string themeName = c1ThemeController1.GetTheme(c1Button1);
C1.Win.C1Themes.C1Theme c1Theme1 = C1.Win.C1Themes.C1ThemeController.GetThemeByName(themeName, false);
forecolorC1Button = c1Theme1.GetColor(@"C1Input¥C1Button¥Default¥ForeColor");
コントロールの背景色の取得するには、C1ThemeのGetEnumメソッドを使用します。引数には上記同様、各要素のツリー階層のパスを文字列型で設定します。このメソッドにより取得されるオブジェクトをThemeSolidBackground型に変換し、その.Color.Valueプロパティで実際の色を参照します。
◎サンプルコード(VB)
Imports C1.Win.C1Themes
……途中省略……
Dim backgroundC1Button As ThemeSolidBackground
Dim backcolorC1Button As Color
Dim themeName As String = C1ThemeController1.GetTheme(C1Button1)
Dim C1Theme1 As C1Theme = C1ThemeController.GetThemeByName(themeName, False)
backgroundC1Button = CType(C1Theme1.GetEnum("C1Input¥C1Button¥Default¥Background"), ThemeSolidBackground)
backcolorC1Button = backgroundC1Button.Color.Value
……途中省略……
Dim backgroundC1Button As ThemeSolidBackground
Dim backcolorC1Button As Color
Dim themeName As String = C1ThemeController1.GetTheme(C1Button1)
Dim C1Theme1 As C1Theme = C1ThemeController.GetThemeByName(themeName, False)
backgroundC1Button = CType(C1Theme1.GetEnum("C1Input¥C1Button¥Default¥Background"), ThemeSolidBackground)
backcolorC1Button = backgroundC1Button.Color.Value
◎サンプルコード(C#)
using C1.Win.C1Themes;
……途中省略……
ThemeSolidBackground backgroundC1Button;
Color backcolorC1Button;
string themeName = c1ThemeController1.GetTheme(c1Button1);
C1Theme c1Theme1 = C1ThemeController.GetThemeByName(themeName, false);
backgroundC1Button = (ThemeSolidBackground)c1Theme1.GetEnum(@"C1Input¥C1Button¥Default¥Background");
backcolorC1Button = backgroundC1Button.Color.Value;
……途中省略……
ThemeSolidBackground backgroundC1Button;
Color backcolorC1Button;
string themeName = c1ThemeController1.GetTheme(c1Button1);
C1Theme c1Theme1 = C1ThemeController.GetThemeByName(themeName, false);
backgroundC1Button = (ThemeSolidBackground)c1Theme1.GetEnum(@"C1Input¥C1Button¥Default¥Background");
backcolorC1Button = backgroundC1Button.Color.Value;
なお、ツリー階層のパスは、C1Themeデザイナを使用して下記手順で確認することができます。
1. 以下の場所にインストールされたC1Theme デザイナを起動します。
C:¥Program Files (x86)¥ComponentOne¥Apps¥v4¥C1ThemeDesigner.4.exe
2. 既存テーマ、または新しいテーマを作成して開きます。
3. 左ペインのテーマツリーから目的のコントロールを選択し、ツリーを展開します。
4. 目的の色に対応するプロパティを見つけます。
例)C1FlexGridにおける標準時のセル境界線の色へのパスは、"C1FlexGrid¥Styles¥Normal¥Border¥Color"となります。
旧文書番号
84357