前スレでブロックを描いてくれた人がいたので、
それを使います。
block.bmp
↑
これを 名前をつけて保存して、
プロジェクトフォルダにいれといてください。
そしたら、
Form1のpublic変数に、
b_img という TBitmapを追加します。
public
{ Public 宣言 }
BackScreen:TBitmap;
b_img:TBitmap;
end;
そして、フォームのonCreate,onCloseを編集します。
procedure TForm1.FormCreate(Sender: TObject);
begin
BackScreen:=TBitmap.Create;
BackScreen.Width:=150;
BackScreen.Height:=300;
BackScreen.Canvas.Brush.Style:=bsSolid;
BackScreen.Canvas.Pen.Style:=psSolid;
BackScreen.Canvas.Pen.Mode:=pmCopy;
b_img:=TBitmap.Create;
b_img.LoadFromFile(
ExtractFilePath(Application.ExeName)+'block.bmp'
);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
b_img.Free;
BackScreen.Free;
end;
b_img周りですね。
CreateとFreeの部分はわかると思います。
LoadFromFileは、引数として渡されたパスのファイルをロードします。
TBitmapなのでbmpはサポートしてます。
さて、そのファイルパス文字列ですが、
ExtractFilePath(Application.ExeName)+'block.bmp'
ExtractFilePath() というのは、ファイルのパスから、
最後のファイル部分を抜いた文字列を返します。
たとえば,ExtractFilePath( '"c:\windows\Win.ini'" ) は '"c:\windows\'" を返します。
↑ヘルプより
で、Application.Exenameですが、
ApplicationはTApplication型のクラスで、
Exenameプロパティーは実行ファイルのパス名を返します。
c:\windows\project1.exe
を実行しているなら、
c:\windows\project1.exe
を返すわけです。
で、それがExtarctFilePathに入ると、
c:\windows\
になります。
その後ろに、
+'block.bmp'
がついているので、
プロジェクトフォルダ\block.bmp
が指定できるというわけです。
実はこれ、
block.bmp だけでも動きます。
フルパスじゃなくてもいい人は
b_img.LoadFromFile(
'block.bmp'
);
でいいです。
ブロックの画像が扱えるようになったので、
次回で画像をフィールドに転送する手続きを作りましょう。
コンテンツ
最新の12件
2023-06-12
2021-02-15
2013-06-19
2012-07-14
2012-02-04
2012-01-06
2011-03-31
2010-08-26
2010-03-15
2009-10-21
2009-02-12
2008-11-18
メニュー編集
- counter: 1219
- today: 1
- yesterday: 0
- online: 1