16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"RE:画像を別フォームで表示する例"
この発言は #00684 凛 さんの画像を別フォームで表示する例 に対するコメントです
> 自動的にUnit2もできる。新しいフォームの名前をChiledFormと変更
childFormです。(^^; Shinさんご指摘ありがとうございました。
それと、Unit2には
procedure TChildForm.FormClose(Sender: TObject; var Action:
TCloseAction);
begin
action:=CAFree;
end;
をつけておく必要があります。 m(_ _)m
また、以下が元のTForm1のレプリカを作ってその上に画像を表示していく方法で
す。ただし、キャプションくらいしか見分ける方法がなく、どれを閉じたらよい
かわからなくなるので、実用的ではないと思います。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
OpenDialog1: TOpenDialog;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private 宣言 }
procedure setImage(filename:string);
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.setImage;
begin
vertScrollbar.Visible:=false;
HorzScrollbar.visible:=false;
image1.Picture.LoadFromFile(filename);
image1.AutoSize:=True;
clientheight:=image1.height;
clientwidth:=image1.width;
image1.Align:=alClient;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
brotherForm:TForm1;
begin
caption:='兄';
if openDialog1.execute then
begin
for i:= 0 to openDialog1.Files.count-1 do
begin //最初のファイルだけ自分のところで開く
if i=0 then setImage(openDIalog1.files[i])
else
begin //2ファイル目からは弟に開かせる
brotherForm:=TForm1.create(self);
brotherForm.caption:='弟';
brotherForm.setImage(openDialog1.files[i]);
brotherForm.Show;
end;
end;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=CAFree;
end;
end.
98/10/18(日) 22:15 凛(MXB01744)
Original document by 凛 氏 ID:(MXB01744)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|