ボタンのカスタマイズ
GcShapeButton コントロールをカスタマイズするには、コントロールの外観として使用したい画像をあらかじめ用意し、プロパティウィンドウで ActiveImage、DefaultImage、DisableImage、HoverImage、NormalImage および PressedImageプロパティに設定します。コントロールは、ボタンの状態に応じて設定した画像を用いてボタンの外観を描画します。
また、画像は静止画だけでなく、アニメーションGIFもサポートします。
次の一覧は、これらのプロパティに対応する状態の説明です。
以下はコードから GcShapeButton コントロールの画像を定義するサンプルです。
また、画像は静止画だけでなく、アニメーション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;