|
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
|