SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)

WPFアプリケーションにカラーピッカーを実装する

ComponentOne Studioを活用したWindowsフォームアプリケーションの作成

  • このエントリーをはてなブックマークに追加

C1ColorPickerコンポーネントの概要 2

拡張モード

 [拡張]タブをクリックすると、[拡張]ビューで表示されます。[拡張]ビューは、次のような外観を持っています。

拡張モードの外観(ヘルプより抜粋)
拡張モードの外観(ヘルプより抜粋)
色フィールド/ピックした色

 [色フィールド]によって色の範囲のトーンを選択できます。[ピックした色]は、現在選択されている色を示します。[色スライダ]を移動して、一般色ファミリを選択してから、[色フィールド]で選択した色を調整します。

色スライダ

 このスライダによって色スペクトルから色を選択できます。[色スライダ]を移動して、一般色を選択してから、[色フィールド]で選択した色を調整します。

透過スライダ

 このスライダによって色の透過性を設定できます。色は、不透過にすることも、部分的または完全な透過にすることもできます。[透過スライダ]を移動して透過性を選択すると、[透過値]ボックスも変化します。このスライダは、ShowAlphaChannelプロパティがTrue(デフォルト)に設定されている場合にのみ表示されます。

色プレビュー

 現在選択している色をプレビューします。色の選択が完了したら、[OK]ボタンをクリックし、ドロップダウンボックスを閉じ、指定した色を[選択した色]に設定します。

透過値

 このボックスによって色の透過性を設定できます。透過性は、0(完全に透過)と255(完全に不透過:デフォルト)の間の整数に設定できます。ShowAlphaChannelプロパティがFalseに設定されている場合、このボックスは淡色表示されます。

RGB色

 3つの数値ボックスにより、RGB(Red Green Blue)カラーモデルを使用して色を選択できます。

HSL色

 3つの数値ボックスにより、HSL(Hue Saturation Lightness)カラーモデルを使用して色を選択できます。

16進数色

 8桁の数値が表示されている場合は、最初の2桁はFF(不透過)から00(透過)までの色の透過性を表し、下6桁は標準の16進数色の選択値を表します。ShowAlphaChannelプロパティがFalseに設定されていると、下6桁のみが表示されます(透過値は表示されません)。

[OK]ボタン

 色の選択が完了したら、[OK]ボタンをクリックし、ドロップダウンボックスを閉じ、指定した色を[選択した色]に設定します。

選択した色

 現在選択されている色がカラーピッカーのウィンドウに表示されます。

ドロップダウン矢印

 ドロップダウン矢印をクリックして、C1ColorPickerコントロールのウィンドウを開きます。

[拡張]タブ

 [拡張]タブをクリックすると、実行時にカスタム色を選択できます。[基本]タブをクリックすると、事前選択された色が表示されます。[拡張]タブを表示するには、ModeプロパティをAdvancedまたはBothに設定する必要があります。

利用可能なカラーパレット

 C1ColorPickerコントロールには、Microsoft Officeで使用されるテーマに適した20以上の定義済みカラーパレットが用意されています。

 各パレットの色は調和がとれており、これを使用することで洗練された高度な外観を備えたアプリケーションを作成できます。

 カラーパレットを変更するには、次のようにGetColorPaletteメソッドを使用してPaletteプロパティを設定します。

Visual Basic
C1ColorPicker.Palette = ColorPalette.GetColorPalette(Office2007ColorTheme.GrayScale)
C#
c1ColorPicker.Palette = ColorPalette.GetColorPalette(Office2007ColorTheme.GrayScale);

 GetColorPaletteメソッドの引数は「Office2007ColorTheme列挙体」で、次のメンバを使用します。

メンバ名 説明
Standard 標準カラーテーマ。
Highlight ハイライトカラーテーマ。
Office オフィスカラーテーマ。
GrayScale グレースケールカラーテーマ。
Apex ひらめきカラーテーマ。
Aspect シックカラーテーマ。
Civic クールカラーテーマ。
Concourse ビジネスカラーテーマ。
Equity ジャパネスクカラーテーマ。
Flow リゾートカラーテーマ。
Foundry エコロジーカラーテーマ。
Median デザートカラーテーマ。
Metro メトロカラーテーマ。
Module モジュールカラーテーマ。
Opulent キュートカラーテーマ。
Oriel スパイスカラーテーマ。
Origin アースカラーテーマ。
Paper ペーパーカラーテーマ。
Solstice フレッシュカラーテーマ。
Technic テクノロジーカラーテーマ。
Trek トラベルカラーテーマ。
Urban アーバンカラーテーマ。
Verve ネオンカラーテーマ。
利用可能なパレット(ヘルプより抜粋)
利用可能なパレット(ヘルプより抜粋)

基本的なプロパティとイベント

 C1ColorPickerコントロールには、コントロールの機能を設定するためのいくつかのプロパティがあります。

 次のプロパティを使用して、C1ColorPickerコントロールをカスタマイズできます。

プロパティ 説明
DropDownDirection コントロールのドロップダウン矢印の展開方向を指定します。
IsDropDownOpen コントロールのドロップダウンボックスを開閉します。
Mode カラーピッカーのモードを指定します。
[基本]、[拡張]、および[両方](デフォルト)のオプションがあります。
Palette 使用するパレットを取得/設定します。
SelectedBrush 選択された色をブラシとして取得します。
SelectedColor 現在選択されている色を取得/設定します。
ShowAlphaChannel ユーザーがアルファチャンネル(透過値)を変更できるかどうかを取得/設定します。
ShowRecentColors 最近選択した色を表示するかどうかを指定します。

 また、コントロールの操作を設定およびカスタマイズするためのイベントが用意されています。

イベント 説明
IsDropDownOpenChanged IsDropDownOpenプロパティが変更されたときに発生するイベントです。
IsMouseOverChanged IsMouseOverプロパティが変更されたときに発生するイベントです。
SelectedColorChanged SelectedColorプロパティが変更されたときに発生するイベントです。

 ユーザーが選択した色情報は、SelectedColorプロパティに格納されます。値はColorクラスのメンバでColor型です。

次のページ
GUIの作成

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7583 2014/01/23 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング