


 
 
 
 
 
 
 |
DelphiXE4 [FMX]ポップアップボックス(PopupBox) 2015/04/05 |
前回は[Standard]内の「グループボックス(GroupBox)」について記述しましたので、今回は、同じく[Standard]内の「ポップアップボックス(PopupBox)」について記述します。これはDelphi2010、XE3のVCLアプリケーションにはありません。
【DelphiXE3[FMXアプリケーション]の記事はこちら】
XE4(FMX)
FMX.ExtCtrls.TPopupBox |
XE3(FMX)
FMX.Menus.TPopupBox |
 |  |
 |  |
(ヘルプより)
IsPressed
このボタンのデフォルトの状態が、押下か否かを示します。
このボタンがデフォルトの状態で押されているようにするには、IsPressed プロパティを True に設定します。このボタンは、もう一度クリックすると、初期の押下されていない状態に戻ります。
ヒント:IsPressedプロパティの設定は、StaysPressedプロパティがTrue に設定されているときのみ、効果が現れます。 |
StaysPressed
このボタンがクリックされた後に、押された状態のままにするかどうかを示します。
StaysPressedプロパティをTrueに設定すると、このボタンがクリックされた後、押された状態のままにすることができます。このボタンは、もう一度クリックすると、初期の押下されていない状態に戻ります。
StaysPressedがFalseに設定された場合、このボタンは標準のプッシュボタンと同じように動作し、ボタンの表面上でマウスボタンを離すとすぐに初期の状態に戻ります。 |
こういったボタンで、IsPressed/StaysPressedプロパティが有効になるのかどうか今ひとつ分かりませんけれども…。
ItemIndex
選択された項目のインデックスを示します。
ItemIndexを読み取ることにより、どの項目が選択されているかを確認することができます。ItemIndexの数字は0から振られます。項目が選択されていない場合、ItemIndexの値は-1になります。
インデックス値を渡してItemIndexをプログラムで設定すると、項目を選択することができます。ItemIndex値を変更すると、Text値にも影響を与えます。Text値は、ItemIndexと等しいインデックスを持つ、Itemsリストからの文字列です。 |
Items
ポップアップボックスが表示された際に現れる、項目のリストを表します。
リストの(下位TStrings)メソッドを使用すると、これらの項目を管理することができます(項目の追加、挿入、削除など)。 |
ComboBoxやListBox等でおなじみですね。
ModalResult
ボタンがその(モーダルな)親フォームを閉じるかどうか、および閉じる方法を指定します。
ボタンコンポーネントのModalResultプロパティの設定は、ボタンのクリックでモーダルフォームを閉じる簡単な方法です。ボタンがクリックされると、親フォームのModalResultプロパティに、ボタンのModalResultプロパティと同じ値が設定されます。 |
内容についてはボタンの頁を参照して下さい。
Textプロパティは、Items内に存在しない文字内容を指定する事はできません。しかし、Textプロパティを変化させたあと、Itemsプロパティ内容を変更すると、Textプロパティ内容は自動的に更新は行われませんので注意が必要かもしれません。 |
ユニットが変わっていますが、オブジェクトインスペクタでのプロパティ・イベントの差異はなさそうです。
次に、ボタンクリック時の挙動の確認をしておきます。
まずは、
procedure TForm1.PopupBox1Change(Sender: TObject);
begin
ShowMessage(IntToStr(PopupBox1.ItemIndex));
end; |
としてみました。コンパイル・実行します。

↓

↓

↓

OnChangeイベントは、選択を行なった後に実行されているのが分かります。
次に、
procedure TForm1.PopupBox1Click(Sender: TObject);
begin
ShowMessage(IntToStr(PopupBox1.ItemIndex));
end; |
としてみました。コンパイル・実行します。

↓

↓

↓

OnClickイベントは、選択を行なう前に実行されているのが分かります。
下図のように画面レイアウトしてみました。
以下、
PopupBox1 は未指定状態
PopupBox2 は Index=0 指定状態
PopupBox3 にフォーカスがある状態で
PopupBox4 の上にマウスを移動している状態、です。
指定無し |
Air.Style |

Amakrits.Style |

AquaGraphite.style |

Blend.Style |

Dark.style |

GoldenGraphite.Style |

Light.Style |

RubyGraphite.style |

Transparent.Style |
MacOSX アプリケーションでも動作OKです。
|
|
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
>DelphiXE4
△TOP
▲2015/04/04
2015/04/05
▼2015/04/06
シェアウェア
Script!World
データベース
|