コラム / もーのーくーろー / ファイルを開くぜ


コラム/もーのーくーろー

開く部分、ボタンじゃなくて、
メインメニューからの処理にする、変更方法は、
TMainMenuを貼り付けて、
開く を作って、
そこから呼ぶ処理を、
今から説明するのにすればおkです。
kwskはバイナリエディタ編を参照。
今回は、一番手軽なボタンクリックで開いてみます。
その前にまずは、
TOpenPitucureDialogを張っておきます。

img3.png

開くボタンをダブルクリックして、
開くボタンのonclickコードを書きましょう。
procedure TForm1.Button1Click(Sender: TObject);
begin
   if OpenPictureDialog1.Execute then begin
       Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
       Image1.Height:=Image1.Picture.Height;
       Image1.Width:=Image1.Picture.Width;
   end;
end;
これだけ。
OpenPictureDialogは、OpenDialogと同じく、
Execute関数を呼び出すと、ダイアログが生成され、
開く処理が正しく終われば True を返します。
その場合、
Image1.Pictureの、LoadFromFileを呼び出す、
という処理になってます。
LoadFromFileの引数は、開くファイルのパスで、
それはOpenPictureDialogの、
Executeで選ばれたファイルパスを、
OpenPictureDialog1.Filename
で、参照すれば良いわけです。
ファイルが開けたら、
Imageコンポーネントのサイズを、Width,Heidhtを変更します。
Image1.Pictureから、今開いたファイルの、
Width,Heidhtを、Image1のWidth,Heidhtに代入すれば、
ぴったりに変更されるってわけです。
重要なのは、
TImage.Heidht , TImage.Width は、
「コンポーネントのサイズ」
で、
TImage.Picture.Heidht , TImage.Picture.Width は、
「画像のサイズ」
ってところです。
で、問題は、bmpしか開けん。
いろいろ開けるようにするには、
TGraphicEXとか、なんか人のつくったコンポーネントを入れると
いいらしいんですが、良く知らんです。。。
一応テストデータとして、今回のキャプチャでも、
bmpでうpしておきます・・・
↓

fileimg3.bmp