お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





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

"RE:線のクラス"

この発言は
#00256 凛 さんの線のクラス
に対するコメントです

サンプル蔵#256 で紹介したTLineを具体的に使う例です。 サンプル蔵にあがっているTLine用のコードは別Unitに書いてusesするか、同じ Unit内に書くかしてください。その上で、ボタン一つとTPaintBoxを一つフォー ム上に配置して、それぞれ以下のようにイベントハンドラを書いてみて下さい。 //TLineを管理するListをcreateする List:TListはTForm1のPrivateででも //宣言しておく procedure TForm1.FormCreate(Sender: TObject); begin List:=TList.create; end; //最後に必ずTLineをfreeしておく procedure TForm1.FormDestroy(Sender: TObject); var i:integer; begin for i:= 0 to List.count-1 do begin TLine(List[i]).free; end; List.free; end; //ランダムな色の線を放射状に作って描く procedure TForm1.Button1Click(Sender: TObject); var i:integer; LIne:TLine; begin for i:= 0 to 100 do begin Line:=TLine.create(0, 0, random(200), random(200), random(5), random($FFFFFF)); Line.draw(paintBOx1.canvas,pmCopy); List.add(Line); end; end; //選択した線を反転させる。 procedure TForm1.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var i:integer; begin for i:=0 to List.count-1 do begin if TLine(List[i]).isOnLine(x,y) then begin TLine(List[i]).draw(paintBox1.canvas,pmNot); end; end; end; 98/11/14(土) 00:17 凛(MXB01744) Original document by 凛 氏 ID:(MXB01744)



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

Copyright 1996-2002 Delphi Users' Forum