SHOEISHA iD

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

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

ComponentZine(PlusPak)

.NETアプリで使えるオリジナルデザインのコントロールを作成する

PlusPak for Windows Forms 5.0Jでカスタムデザインのコントロールを作る

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

GcLabelで背景がグラデーションのラベルを作る

 まずは、GcLabelコントロールを使って、背景色をグラデーションで塗りつぶし、文字を縦書きにしたラベルを作成します。

背景色のグラデーションの設定

 グラデーションの設定は、GradientEffectプロパティを使用します。プロパティの値欄をクリックすると、「グラデーションエディタ」が起動します。このエディタで、グラデーションの色数、開始・終了色、グラデーションの方向などを設定します。

 なお、このGradientEffectプロパティと「グラデーションエディタ」は、GcLabelコントロールだけでなく、PlusPakの他のコントロールでグラデーション設定ができるコントロールでも使用します。

グラデーションエディタ
グラデーションエディタ

文字の縦書き

 文字を縦書きで表示するには、TextOrientationプロパティを「VerticalFarEast」に設定します。

 また、コントロール内で文字列の折り返しをする場合は、「WrapMode」プロパティを「WordWrap」に設定します。

コントロールからはみ出した文字を折り返すには
コントロールからはみ出した文字を折り返すには
「WrapMode」プロパティを「WordWrap」に設定する
「WrapMode」プロパティを「WordWrap」に設定する

カスタムボタンの作成

 次に、GcShapeButtonコントロールを使ってカスタムボタンを作成しましょう。

 このコントロールは、ボタン動作の「デフォルト」「通常」「無効」「アクティブ」「ホバー」「押下」のそれぞれの時のイメージを設定できます。使用できるイメージのフォーマットは、「gif」「jpg」「jpeg」「bmp」「wmf」「png」で、このフォーマットであればどのようなアプリケーションで作成した画像でも、ボタンの動作イメージに使用できます。

イメージの作成

 今回は、Microsoft PowerPoint 2003を使って、ボタンがポップアップした状態、ブッシュダウンした状態、無効状態のそれぞれのイメージを作成し、pngフォーマットで保存しました。

それぞれの状態のボタンイメージを作成
それぞれの状態のボタンイメージを作成

イメージの設定

 イメージが作成できたら、フォームにGcShapeButtonコントロールを配置し、スマートタグを開きます。ボタンの各動作時のイメージを設定する画面が表示されるので、ここで作成したイメージをそれぞれに配置します。

 また、テキストはTextプロパティで設定できますが、標準コントロールのボタンのようにボタンと一緒には動作しませんので、できればイメージの中に組み込んだほうが自然な動きになります。

スマートタグを開き、ボタンの各動作時のイメージを設定する
ボタンの各動作時のイメージを設定する

GcCheckBoxで独自のチェックマークを使う

 GcCheckBoxコントロールは、チェックマークに独自のイメージを使うことができる、面白いチェックボックスです。チェック時とチェックオフ時のホバー、ノーマル、プレスにイメージを設定できます。

 GcCheckBoxコントロールでは、ボタンの時のようなスマートタグではなく、プロパティウィンドウで各イメージを設定し、「CheckMark」プロパティをクリックすると、さらにそれぞれのイメージを設定するプロパティが表示されます。

 使用するプロパティの内容は次のとおりです。

収録コンポーネント
プロパティ 説明
CheckedHoverImage チェックの状態がチェックで、マウスカーソルがコントロールの上に置かれている場合のチェックマーク イメージ
CheckedNormalImage チェックの状態がチェックで、コントロールが通常の状態の場合のチェックマーク イメージ
CheckedPressedImage チェックの状態がチェックで、マウスボタンがコントロールの上でクリックされた場合のチェックマーク イメージ
IndeterminateHoverImage チェックの状態が不確定で、マウスカーソルがコントロールの上に置かれている場合のチェックマーク イメージ(ThreeState プロパティが True のときのみ有効)
IndeterminateNormalImage チェックの状態が不確定で、コントロールが通常の状態の場合のチェックマーク イメージ(ThreeState プロパティが True のときのみ有効)
IndeterminatePressedImage チェックの状態が不確定で、マウスボタンがコントロールの上でクリックされた場合のチェックマーク イメージ(ThreeState プロパティが True のときのみ有効)
UncheckedHoverImage チェックの状態が未チェックで、マウスカーソルがコントロールの上に置かれている場合のチェックマーク イメージ
UncheckedNormalImage チェックの状態が未チェックで、コントロールが通常の状態の場合のチェックマーク イメージ
UncheckedPressedImage チェックの状態が未チェックで、マウスボタンがコントロールの上でクリックされた場合のチェックマーク イメージ

イメージの作成

 今回は、「UncheckedHoverImage」「CheckedHoverImage」「CheckedNormalImage」「CheckedPressedImage」の4つを設定しますので、それぞれにあったイメージを作成します。

 「UncheckedHoverImage」は、チェックのない状態でマウスポインタをチェックボックスに重ねた時に分かるようなイメージにします。

 「CheckedHoverImage」と「CheckedPressedImage」は、チェックした時に表示するチェックマークのイメージにします。

 「CheckedNormalImage」は、チェックした状態でマウスポインタがチェックボックスから離れた時に、少し薄い色にしてあまり目立たないようなイメージにします。これらも、PowerPointで作成しました。

各動作時のイメージ
各動作時のイメージ

イメージの設定

 イメージが作成できたら、各プロパティにイメージを設定します。チェック時のイメージは「CheckedHoverImage」と「CheckedPressedImage」に同じイメージを設定します。「CheckedPressedImage」にイメージを設定しないと、マウスのボタンを離した時にデフォルトのイメージが表示され、クリック時に2つの違うイメージが連続して表示されてしまいますので注意してください。

アンチェック時にマウスポインタを重ねた時のイメージ
アンチェック時にマウスポインタを重ねた時のイメージ
チェック時のイメージ
チェック時のイメージ
チェックしたときにマウスポインタが離れた時のイメージ
チェックしたときにマウスポインタが離れた時のイメージ

 また、フォントの装飾は「TextAppearance」プロパティの値を「OrientationTextAppearance」に設定すると、「テキストの外観」ダイアログが表示され、「TextEffect」で文字の立体表示を設定できます。

文字の立体表示の設定(PlusPak for Windows Forms 5.0Jヘルプファイルより抜粋)
文字の立体表示の設定(PlusPak for Windows Forms 5.0Jヘルプファイルより抜粋)

次のページ
CapsLockの制御

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

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

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3087 2009/03/17 12:11

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング