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

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

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
DelphiXE3 [FMX] スクロールボックス(ScrollBox)2014/01/04
 
前回は [Layouts]内の「段落レイアウト改行」(FlowLayoutBreak)について見てみました。今回は同じく[Layouts]内の「スクロールボックス」(ScrollBox)について見ていきます。【DelphiXE3・VCLの記事】【Delphi2010の記事】
 
 
[Layouts]内
FMX
 
ヘルプより。
FireMonkey フォーム内のスクロール領域(スクロール ボックス)を表します。
 
TScrollBox を使用する、FireMonkey フォームにスクロール ボックスを作成することができます。
 
スクロール ボックスを一度使用すると、複数のグラフィック コントロール(ボタン、リスト ボックス、編集ボックス、ラジオ ボタンなど)が同じスクロール可能な親(スクロール ボックス自体)の下にまとめられます。このように、比較的小さいフォームでも、まとめてスクロール可能にすることで多数のグラフィック オブジェクトを含むことが可能になり、グラフィック コントロールが豊富に含まれるグラフィカル ユーザー インターフェイス(GUI)上で場所を取らないようにすることができます。
 
その他に、スクロール ボックスを使って、フォーム内の複数の領域(ビュー)をスクロールさせることができます。 ビューは、市販のワード プロセッサや、スプレッドシート、プロジェクト管理アプリケーションなどで一般的に使われています。
 
 メモ:スクロール レイアウト(TScrollBox、TVertScrollBox、など)の子を、右端や下端に固定してはいけません。スクロール レイアウトの Anchors プロパティが、akBottom、akRight、またはその両方に設定された場合、その子は、レイアウトのコンテンツ サイズが計算されている間、レイアウトの端までの距離を一定に保つため、伸長し続けてしまいます。スクロール レイアウトの子は、左端または上端にのみ固定してください。
 


 
Animated
このスクロール ボックスのコンテンツのスクロールを行う際に、スムーズなスクロール アニメーションを使用するかどうかを示します。デフォルトでは、Animated は、True に設定されています。
AutoHide
このスクロールボックスにアタッチされているスクロール バーを、自動的に表示または非表示にするのかを示します。
HScrollBar
このスクロール バーにアタッチされている水平スクロール バーを示します。
 
HScrollBar 読み取り専用プロパティを読み込むと、このスクロール ボックス コンポーネントにアタッチされている、水平スクロール バー オブジェクトを取得することができます。
MouseTracking
マウスを、左マウスボタンを押しながら移動させると、スクロールが有効になります。
ShowScrollBars
このスクロール ボックスにアタッチされているスクロール バーを可視にするかどうかを示します。
ShowSizeGrip
このスクロール ボックスの右下隅にサイズ グリップを表示するかどうかを示します。
UseSmallScrollBars
このスクロール ボックスにアタッチされているスクロール バーに、オペレーティング システムが定義する通常サイズではなく、小さいサイズのフットプリントを使うかどうかを示します。
VScrollBar
このスクロール バーにアタッチされている垂直スクロール バーを示します。
 
VScrollBar 読み取り専用プロパティを読み込むと、このスクロール ボックス コンポーネントにアタッチされている、垂直スクロール バー オブジェクトを取得することができます。
 
 
VCLでのスクロールボックス(ScrollBox)は、パネルと一体型になった感じでしたが、FireMonkey(FMX)では、そうではなく、レイアウトの1形態という感じですね。
 
フォーム画面上にスクロールボックス(ScrollBox)を配置し、その子となるように画像(Image)を配置します。あと、ボタン(Button)と開くダイアログ(OpenDialog)も配置しておきます。

 
ボタンのクリックイベントハンドラを下記のようにします。
procedure TForm1.Button1Click(Sender: TObject);
begin
 if (OpenDialog1.Execute) then begin
  try
   Image1.Bitmap.LoadFromFile(OpenDialog1.FileName);
   Image1.Width := Image1.Bitmap.Width ;
   Image1.Height:= Image1.Bitmap.Height;
  except
   ;
  end;
 end;
end;
大した事はしていません。ボタンを押したら画像を開く画面を表示して、画像ファイル名を指定し、それを画面上に表示させるだけです。保存・コンパイル・実行を行います。

ボタンをクリック


画像ファイル(アジサイ.jpg)を開く


スクロールをしてみると・・・


という感じです。
 
画面デザイン時には少し見にくいかもしれませんが、基本的には、VCLでのスクロールボックスとさほどの違和感は無いような感じはします。
 
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
▲2014/01/03
 2014/01/04
▼2014/01/04
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.