PowerTools PlusPak for Windows Forms 8.0J
色の設定と取得

GcColorPickerコントロールの色の設定と取得の方法について、以下に解説します。

エディタへの入力
GcColorPicker コントロールのエディタに直接、色の名前、あるいはARGB値を入力することができます。コントロールは、入力された内容を自動的に色の書式に変換します。変換の詳細について、以下の表で説明します。

入力値 説明
文字列 既知の色の名前と一致すればその色の名前(UseColorNameプロパティが True に設定されている場合)に、またはRGB値(UseColorName プロパティが False に設定されている場合)に変換します。大文字と小文字は問いません。
例:"red" -> (Red)、"WHITE" -> (White)、"red" -> (255, 255, 255)。
0〜255の整数1つ(X) フォーカスがコントロールから移動する時、ARGB書式(0, 0, 0, X)に変換します。
例:"111" -> (0, 0, 0, 111)。
0〜255の整数3つ(X, Y, Z) RGB書式(X, Y, Z)に変換します。
例:"11, 22, 33" -> (11, 22, 33)。
UseColorName プロパティが True に設定されている時、もしRGB値に既知の色の名前があればRGB値が色の名前に変換されます。
0〜255の整数4つ(A, X, Y, Z) Aが255の場合、RGB書式(X, Y, Z)に変換します。
例:"255, 11, 22, 33" -> (11, 22, 33)。
UseColorName プロパティが True に設定されている時、もしRGB値に既知の色の名前があればRGB値が色の名前に変換されます。Aが255以外の場合、ARGB書式(A, X, Y, Z)に変換します。
例:"99, 11, 22, 33" -> (99, 11, 22, 33)。

入力された色の名前あるいは値が有効でない場合は、最後に入力された有効な値に戻します。
ドロップダウンダイアログから選択
コントロールのドロップダウンボタンからダイアログを表示して色を選択することができます。ダイアログには、自動の色、テーマの色、標準の色、最近使用した色、無色(塗りつぶしなし)およびその他の色などを表示するかどうかをカスタマイズすることが可能です。さらに、カラーパレットを開いて任意の色を作成することもできます。



ドロップダウンダイアログのカスタマイズについては、「ドロップダウンダイアログの設定」をご参照ください。

カラーピッカーの利用
コントロールの右側にあるカラーピッカーボタンを使えば、画面上の任意の位置の色要素を取得することが可能です。

  1. ピッカーボタンの上にマウスボタンを押下します。



  2. マウスボタンを押下したまま、画面上の取得したい色にポインタを移動します。
    移動中に GcColorPicker コントロールのエディタから常にポインタの所在位置の色を確認できます。マウスボタンを離すと色が確定されコントロールに設定されます。


また、GetColorFromScreen メソッドを使用するとカラーピッカーボタンと同様に画面上の任意の色要素を取得することが可能です。

' 画面の指定した位置の色を取得します。
Label1.ForeColor = GcColorPicker1.GetColorFromScreen(New Point(600, 500))
// 画面の指定した位置の色を取得します。
label1.ForeColor = gcColorPicker1.GetColorFromScreen(new Point(600, 500));
選択した色の取得
コントロールで選択された色を取得するには、SelectedColor プロパティを使用します。選択された色が変わったときには、SelectedColorChanged イベントが発生します。次のコードは、GcColorPicker コントロールで選択した色をリッチテキストボックスで選択されている文字に設定します。

Private Sub GcColorPicker1_SelectedColorChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcColorPicker1.SelectedColorChanged
    RichTextBox1.SelectionColor = GcColorPicker1.SelectedColor
End Sub
private void gcColorPicker1_SelectedColorChanged(object sender, EventArgs e)
{
    richTextBox1.SelectionColor = gcColorPicker1.SelectedColor;
}

参照