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

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

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
DelphiXE3 [FMX]トラックバー付コンボ(ComboTrackBar)2013/10/17
 
前頁で[Additional]内の「ComboEdit」(コンボエディット)について書きましたので次は、同じく[Additional]内の「ComboTrackBar」(トラックバー付コンボボックス)について見ていきます。Delphi2010・VCLアプリケーションには無いと思われます。
 
 


(ヘルプより)
DecimalDigits
表示された数値の桁数。
Frequency
トラックバーのスクロールが動いた際に数値が増減する値を保持します。
TComboTrackBar オブジェクトのサムを動かすと、その Value プロパティは、各ステップに指定された分が変更されます。 Frequency プロパティを設定すると、トラックバーの各ステップの増減を指定することができます。
Max
値に指定することのできる最大の数値。
Maxプロパティを設定または取得すると、TComboTrackBarオブジェクトに表示することのできる最大値を操作することができます。
Min
値に指定することのできる最小の数値。
Minプロパティを設定または取得すると、TComboTrackBar オブジェクトに表示することのできる最小値を操作することができます。
Text
この編集コントロールで表示されるテキストが保有されています。
Text プロパティを使用すると、この編集コントロールのテキストを読み込んだり、表示する新しい文字列を指定することができます。
Value
この編集コントロールに表示されるデフォルト数値を保持します。
この編集コントロールの Value プロパティを変更すると、表示される数値を変更することができます。
ValueType
編集コントロールによって表示される数値の型。
vtInteger:整数
vtFloat :実数
 
(ヘルプより)
TComboTrackBar は、トラックバーの付いた特別なコンボボックスです。
 
TComboTrackBar コンポーネントは、数値だけを表示することができ、ドロップダウン モードのときには表示された値を変更するためのトラック バーが表示される、特別なコンボ ボックスです。
 
というわけで、まずは、下記のように配置を行います。
ComboTrackBar1(上のほう)のValueTypeプロパティは「vtInteger」
ComboTrackBar2(下のほう)のValueTypeプロパティは「vtFloat」としています。

 
各イベントハンドラを下記のように記述します。
procedure TForm1.ComboTrackBar1Change(Sender: TObject);
begin
 Label1.Text := ComboTrackBar1.Text ;
 Label2.Text := FloatToStr(ComboTrackBar1.Value) ;
end;
 
procedure TForm1.ComboTrackBar2Change(Sender: TObject);
begin
 Label1.Text := ComboTrackBar2.Text ;
 Label2.Text := FloatToStr(ComboTrackBar2.Value) ;
end;
 
procedure TForm1.FormShow(Sender: TObject);
begin
 ComboTrackBar1.Text := '10';
 ComboTrackBar2.Text := '12.345';
 ComboTrackBar1.SetFocus ;
end;
Label1には Textプロパティの内容、Label2には Valueプロパティの内容を表示させます。なお、ValueTypeプロパティ内容に関わらず Valueプロパティは実数型ですので、IntToStr関数はエラーになります。フォームの OnShowイベントで 初期内容を指定していますが、デザイン時 Textプロパティに入力していても無効化されてしまうようでしたから、このようにしています。
 
その他のコンポーネントは、スタイル変更時のただの比較用です。
 
保存・コンパイル・実行を行います。



トラックバー付コンボボックスの右端の三角ボタンを押すと、1つのトラックバーがドロップリスト表示されます。このトラックバーを操作すると、内容も変わります。
 

ComboTrackBar1で数値入力を行なってみます


整数のほうでは、-、0〜9の半角文字のみ入力可能です
Textプロパティは入力中、そのままの内容が出ていますが
Valueプロパティはいきなり Min〜Max制約を受けています


フォーカスを移動すると、Textプロパティ内容も
Min〜Max制約を受けた内容にかわりました


実数のほうでは、-、.、0〜9の半角文字のみ入力可能です
Textプロパティは入力中、そのままの内容が出ていますが
Valueプロパティはいきなり Min〜Max制約を受けています


フォーカスを移動すると、Textプロパティ内容も
Min〜Max制約を受けた内容にかわりました
 
さて、DecimalDigitsプロパティは「表示された数値の桁数との事ですが、NumberBox・SpinBox同様、実数型での小数点以下桁数のことのようです。デフォルト値は「3」になっていますけれど。



Textプロパティのほうは四捨五入されて丸め処理されています。しかし、Valueプロパティのほうは丸め処理されていません。この辺りは、どちらを取るのか、注意したほうがいいでしょうね。Valueプロパティは Single型(単精度実数)ですので細かい精度に対応していませんから誤差がついています。より細かい精度の数値を扱う必要がある場合は、Textプロパティのほうから利用されるのが良いでしょうね。
 
 
それでは各スタイルでの画面状態を確認しておきます。
なし
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/17
 2013/10/17
▼2013/10/18
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.