お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"グラフ スクロールバーでスクロール"



 グラフを動的に描画して、スクロールバーでスクロールさせるサンプルです。
paintBoxと、スクロールバーを配置してください。
今回はarray [0..99]にデータを持たせましたが、#362にUpしたような
TExtendedListを使っても良いと思います。


type
  TForm1 = class(TForm)
    PaintBox1: TPaintBox;
    ScrollBar1: TScrollBar;
    procedure FormCreate(Sender: TObject);
    procedure ScrollBar1Change(Sender: TObject);
  private
    { Private 宣言 }
     data:array[0..999] of integer;
     Fstartpos:integer;
     procedure setStartPos(value:integer);
     procedure drawFrom(value:integer);
  public
    { Public 宣言 }
     property startPos:integer read FStartPos write setStartPos;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.drawFrom;
var
   i,x:integer;
begin
   with paintBox1.canvas do
   begin
      x:=0;
      moveTo(0,data[value]);
      for i:= value to 999 do
      begin
         LineTo(x,data[i]);
         inc(x);
         if x>999 then break;
      end;
   end;
end;

procedure TForm1.setStartPos;
begin
   FStartPos:=value;
   paintBox1.refresh;
   drawFrom(FStartPos);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
   i,y:integer;
begin
   //ダミーデータを作成
   for i:=0 to 999 do
   begin
      data[i]:=Trunc(50*sin(i*i/10000)+50);
   end;
   scrollbar1.max:=999;
end;

procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
   startPos:=scrollbar1.Position;
end;

☆☆☆ サンプル蔵ブラウザUp!see nifty:FDELPHI/LIB/5/116  ☆☆☆
                                 98/06/14(日) 18:23 凛(MXB01744)

Original document by 凛              氏 ID:(MXB01744)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum