16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"画像を別フォームで表示する例"
この発言に対し以下のコメントが寄せられています
#00686 凛 さん RE:画像を別フォームで表示する例
画像毎にフォームを作成して表示する例。
フォームは動的に生成。
手順
1.普通にアプリを作る(Unit1でTForm1にいろいろやると仮定)
2.ファイル/新規作成/フォームで新しいフォームを作成
自動的にUnit2もできる。新しいフォームの名前をChiledFormと変更
(しなくても良いがわかりやすくするため)
3.メニューの表示/ユニット もしくはツールバーのユニットリスト表示で
project1を表示(もしくはプロジェクトファイル)
以下のようにTChildFormのcreateをコメントアウトする
もしくはプロジェクト/オプション/フォーム で自動作成の対象から
ChildFormを外す
4.Unit2のコーディング例は以下の通り
TChildFormにはTImageをひとつ置いて下さい。
5.Unit1のコーディング例も以下の通り
TForm1にはOpenDialogとボタンを一つずつ置いて下さい。
OpenDialogのOptionsの ofAllowMultiSelectをTrueにしてください。
以下のコードを貼り付けて試す場合はボタンを一回ダブルクリックしたあとで
貼り付けて下さい。
//プロジェクトファイルでコメントアウトする方法
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {childForm};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
// Application.CreateForm(TchildForm, childForm);
Application.Run;
end.
//Unit2のコーディング例
unit Unit2;
interface
uses
(いつものやつなので省略)
implementation
{$R *.DFM}
procedure TChildForm.setImage(filename:string);
begin
vertScrollbar.Visible:=false;
HorzScrollbar.visible:=false;
image1.Picture.LoadFromFile(filename);
image1.AutoSize:=True;
clientheight:=image1.height;
clientwidth:=image1.width;
image1.Align:=alClient;
end;
end.
//Unit1のコーディング例
unit Unit1;
interface
uses
(いつものやつなので省略)
implementation
{$R *.DFM}
uses Unit2;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
CH:TChildForm;
begin
if openDialog1.Execute then
begin
for i:= 0 to openDialog1.Files.count-1 do
begin
CH:=TChildForm.create(self);
CH.setImage(openDialog1.files[i]);
CH.show;
end;
end;
end;
end.
☆☆☆ かわいいコードにゃ旅をさせよう いざサンプル蔵へ!! ☆☆☆
98/10/18(日) 13:26 凛(MXB01744)
Original document by 凛 氏 ID:(MXB01744)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|