AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
DelphiXE3 [FMX]スピードボタン(SpeedButton) 2013/10/11
 
今回から、[Additional]内のコンポーネントについて見ていきます。
まずは、「SpeedButtonp」(スピードボタン)について見てみます。
   【Delphi2010の記事はこちら】
   【DelphiXE3[VCLアプリケーション]の記事はこちら】
 
 

下図:ツールバー上に配置した場合


(ヘルプより)
CanFocus
現在のコントロールがフォーカス可能かどうかを示します。
CanFocus は、フォーカス可能な場合には True、そうでなければ False となります。
とありますが、このコントロールの特性上、このプロパティ値に関わらずフォーカスは持てません。
 
IsPressed
このボタンのデフォルトの状態が、押下か否かを示します。
このボタンがデフォルトの状態で押されているようにするには、IsPressed プロパティを True に設定します。このボタンは、もう一度クリックすると、初期の押下されていない状態に戻ります。
ヒント:IsPressedプロパティの設定は、StaysPressed プロパティが True に設定されているときのみ、効果が現れます。
StaysPressed
このボタンがクリックされた後に、押された状態のままにするかどうかを示します。
StaysPressed プロパティを True に設定すると、このボタンがクリックされた後、押された状態のままにすることができます。このボタンは、もう一度クリックすると、初期の押下されていない状態に戻ります。
StaysPressed が False に設定された場合、このボタンは標準のプッシュボタンと同じように動作し、ボタンの表面上でマウスボタンを離すとすぐに初期の状態に戻ります。
ModalResult
ボタンがその(モーダルな)親フォームを閉じるかどうか、および閉じる方法を指定します。
mrNone (0) (デフォルト)
mrOk (idOK=1)
mrCancel (idCancel=2)
mrAbort (idAbort=3)
mrRetry (idRetry=4)
mrIgnore (idIgnore=5)
mrYes (idYes=6)
mrNo (idNo=7)
mrClose (idClose=8)
mrHelp (idHelp=9)
mrTryAgain (idTryAgain=10)
mrContinue (idContinue=11)
mrAll (mrContinue+1=12)
mrNoToAll (mrAll+1=13)
mrYesToAll (mrNoToAll+1=14)
RepeatClick
事前設定時間の後、ボタンのクリックを自動的に繰り返すかどうかを示します。
RepeatClickプロパティをTrueに設定すると、ボタンにイベントのクリックを自動的に繰り返させることができ、それゆえ、OnClick を最後に実行してから事前設定した時間が過ぎた後、OnClickイベントを周期的に実行させることができます。
タイマ間隔は最初の待機500ミリ秒から開始し、その後、待機サイクルは100ミリ秒に移行します。この間隔はユーザーは変更することはできません。
 
(ヘルプより)
テキストキャプションを持つプッシュボタンを表します。さまざまなツールバーに配置して、それをアプリケーションで使用することができます。
 
TSpeedButton は、アプリケーションのツールバーで使用する汎用のプッシュボタンです。このボタンは、有効化/無効化したり、押すことができ、Esc や Enter などの制御キーに応答させることができます。
 
スピードボタンには、モーダル結果を関連付けることもできます。
 
外観に特徴があるため、他のボタンと区別することができます。また、Tab キーを使ってスピード ボタンにフォーカスを移すことはできません。
 
というわけでプロパティは異なりますが、VCLと同様、FireMonkey(FMX)でも同じようなスピードボタンを配置することが出来ますね。しかし、VCL の「Glyphプロパティ」に相当するものが、ぱっと見、見当たりません。う〜ん、どういう風にするのが「普通」なのでしょうか?
 
例えば、スピードボタンの子として、イメージコントロールを配置してみました。

 
しかし、これを実行しても、イメージ上にマウスがあるときは、ボタンとしては反応してくれません。
 
Enabled プロパティを False にすると反応してくれますが、グレー状態になってしまうのでイマイチ使いにくいです。

そのような時は、HitTestプロパティの値を「False」にすると良いようです。

 
現段階では、イメージコントロール以外で直接画像ファイルを扱えるものはまだ分かりませんが、イメージコントロールの場合、上下左右に余白が出来てしまう事と、ファイルサイズが大きくなる(=重くなる)事が少しネックです。他にもう少し軽く画像を扱えるコンポーネントがあればいいのですが……。
 
プログラム上で何らの処理を行うようにする、というのも、可能かどうかは別として、かなり手間になってきますから、余りそういう事はしたくないですね。基本的には、画像ボタンというよりは、文字ボタンとして利用するのが普通のようですね。
 
スピードボタンはフォーカスは持ちませんから、TABキーで切り替えて空白キーで押す、というような操作はできません。意図的にフォーカスを持たないボタンを配置したい、というケースもありますから、そういう時にも利用出来るでしょう。
 
 
それでは各スタイルでの画面状態を確認しておきます。
なし
Air.Style
Amakrits.Style
AquaGraphite.style
Blend.Style
Dark.Style
GoldenGraphite.Style
Light.Style
MetropolisUIBlack.Style
MetropolisUIBlue.Style
MetropolisUIDark.Style
MetropolisUIGreen.Style
RubyGraphite.style
Transparent.Style
 
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
▲2013/10/10
 2013/10/11
▼2013/10/11
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.