VCL TNumberBoxコントロールの使用
新しいTNumberBoxコントロール
新しいTNumberBoxコントロールは、モダンな外観の数値入力コントロールで、Windowsプラットフォームの WinUI NumberBox コントロールに似ています。このコントロールは、整数、指定された 10 進数と適切な形式のセットを持つ浮動小数点数、および通貨値の入力をサポートします。
ユーザーは、矢印ボタンや矢印キーまたはマウスホイールを使用して値を増減したり、PageUpキーとPageDownキーを使用して値を大きい単位(例えば、±10)に増減したりできます。
このコンポーネントは単純な式の評価もサポートしています。AcceptExpressionsプロパティを有効にすると、ユーザは40+2のような式を入力でき、コントロールはそれを結果に置き換えます。さらに乗算、除算、加算、減算などの基本的な方程式のインライン計算をサポートしています(括弧の使用が可能です)。記号+と-の両方を二項演算と単項演算の両方として使用できるため、例えば、-23または+ 23と入力したり、55+23あるいは55-23と書くこともできますし、53++23や53–23のように組み合わせることもできますが、これは 53 – (-23) として評価されます。
このコンポーネントには、スピンボタンのオプション(TNumberBoxコントロールのSpinButtonOptionsの Placementプロパティで設定)の変更が行えます。それぞれの設定は、下図のようにCompact、Inline、またはNoneに変更することができます。
TNumberBoxコンポーネントのプロパティの一覧
このコントロールはVCL スタイルをサポートしており、、High DPI 対応、そして、ビジュアル スタイルや動作を調整するための多くの追加プロパティが用意されています。以下は、TNumberBoxコンポーネントのプロパティの一覧です。
プロパティ名 | 説明 | |
---|---|---|
Mode: TNumberBoxMode |
どの制御モードで動作させるか定義することができ、次の列挙に基づいています。TNumberBoxMode = (nbmInteger, nbmFloat, nbmCurrency) | |
Value: Extended |
現在の値 | |
ValueInt: Integer |
現在の値を整数で表示 | |
ValueFloat: Extended |
現在の値を、Decimalプロパティを使用して丸められたExtended値として表示 | |
ValueCurrency: Extended |
現在の値を10進数=2で丸めてExtended値として表示 | |
CurrencyString: String |
表示テキストの最後に追加される通貨モードの文字列を定義 | |
DisplayFormat: String |
カスタムテキスト形式を定義 | |
MinValue: Extended |
最小値を定義 | |
MaxValue: Extended |
最大値を定義 | |
Decimal: Byte |
小数点以下の桁数を定義 | |
SmallStep: Extended |
スピンボタン、Up/Downキー、マウスホイールでValueプロパティが変化する量を定義 | |
LargeStep: Extended |
Page Up/Page Downキーで Value プロパティが変化する量を定義します。 | |
AcceptExpressions: Boolean |
コントロールで式を使用するか否かの設定 | |
SpinButtonOptions: TNumberBoxSpinButtonOptions |
スピンボタンのオプションを定義し、ButtonWidth、Placement、RepeatTimerInterval、ShowInlineDividers、異なる矢印の色などのサブプロパティを含むデータ構造体 | |
UseNaNValue: Boolean |
空のテキストでNaN値を使用 | |
UseMouseWheel: Boolean |
SmallStepプロパティを使用してマウスホイールで値を変更するか否かの設定 |
|
UseUpDownKeys: Boolean |
Page Up/Page Downキーで値の変更を許可するか否かの設定 | |
Wrap: Boolean |
最大値から最小値へのインクリメントと逆インクリメントを有効にするか否かの設定 |
TNumberBoxコンポーネントイベントの一覧
以下は、TNumberBoxコンポーネントのイベントの一覧です。
イベント名 | 説明 |
---|---|
OnChangeValue: TNotifyEvent |
Valueプロパティが変更された時に発生するイベント |
OnEvaluateExpression: TNotifyEvent |
TextプロパティとValueプロパティを使用して式のカスタム評価を適用すると発生するイベント |
OnValidateChar: TNumberBoxValidateCharEvent |
入力された文字のカスタム検証が必要なときに発生するイベント |