PowerTools PlusPak for Windows Forms 8.0J
ボタンの設定

GcShapeButtonコントロールのボタンの設定方法について、以下に解説します。

ボタンのカスタマイズ
GcShapeButton コントロールをカスタマイズするには、コントロールの外観として使用したい画像をあらかじめ用意し、プロパティウィンドウで ActiveImageDefaultImageDisableImageHoverImageNormalImage および PressedImageプロパティに設定します。コントロールは、ボタンの状態に応じて設定した画像を用いてボタンの外観を描画します。
また、画像は静止画だけでなく、アニメーションGIFもサポートします。

次の一覧は、これらのプロパティに対応する状態の説明です。

プロパティ 説明
ActiveImage ボタンが有効で、フォーカスがコントロールにある場合の画像
DefaultImage ほかのイメージが未設定(Null)のときにデフォルトで使用される画像
DisableImage ボタンが無効(Enabled=false)のときに表示する画像
HoverImage ボタンが有効で、マウスカーソルがコントロールの上に置かれている場合の画像
NormalImage ボタンが有効で、フォーカスがコントロールにない場合の画像
PressedImage ボタンが有効で、マウスボタンがコントロールの上でクリックされた場合の画像

これらのプロパティに形状・サイズの異なる画像を指定した場合には描画のちらつきが発生する可能性がありますので、ご注意ください。例えば、NormalImage より小さい HoverImage を設定すると、両者の境界にマウスカーソルを置かれたときコントロールがちらつきます。


以下はコードから GcShapeButton コントロールの画像を定義するサンプルです。

' GcShapeButtonのテキストとサイズ調整を設定します。
GcShapeButton1.AutoSize = True
GcShapeButton1.Text = string.Empty

' デフォルトの画像を設定します。
GcShapeButton1.DefaultImage = Image.FromFile("C:\images\AlarmDefault.png")
' マウス通過時の画像を設定します。
GcShapeButton1.HoverImage = Image.FromFile("C:\images\AlarmHover.png")
' ボタン押下時の画像を設定します。
GcShapeButton1.PressedImage = Image.FromFile("C:\images\AlarmPressed.png")
// gcShapeButtonのテキストとサイズ調整を設定します。
gcShapeButton1.AutoSize = true;
gcShapeButton1.Text = string.Empty;

// デフォルトの画像を設定します。
gcShapeButton1.DefaultImage = Image.FromFile(@"C:\images\AlarmDefault.png");
// マウス通過時の画像を設定します。
gcShapeButton1.HoverImage = Image.FromFile(@"C:\images\AlarmHover.png");
// ボタン押下時の画像を設定します。
gcShapeButton1.PressedImage = Image.FromFile(@"C:\images\AlarmPressed.png");


イメージの配置とサイズ

GcShapeButton コントロールに設定した画像は、SizeModeプロパティの設定によって配置状態が変化します。

SizeModeの値 説明
AutoSize 画像のサイズに合わせてコントロールのサイズが自動調整されます。
CenterImage 画像がコントロールの中心に配置されます。
CompatibleMode コントロールのサイズにかかわらず画像の範囲のみがボタンとして機能します。
Normal 画像はコントロールの左上揃えに配置されます。
StretchImage 画像はコントロールのサイズによって縦横比が伸縮されます。
Zoom 画像はコントロールのサイズによって縦横比を維持したまま伸縮されます。

以下のサンプルコードはSizeModeをZoomに設定する例です。

' SizeModeをZoomに設定します。
GcShapeButton1.SizeMode = GrapeCity.Win.Buttons.GcShapeButtonSizeMode.Zoom
// SizeModeをZoomに設定します。
gcShapeButton1.SizeMode = GrapeCity.Win.Buttons.GcShapeButtonSizeMode.Zoom;
参照