掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ディスプレイの解像度以上の大きさを持つフォームを印刷するには? (ID:34338)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ヤリタイコトハ・コンナコト? TSampleComponent = class(TGraphicControl) public procedure Print(Canvas: TCanvas; Scale: Integer = 100); end; procedure TSampleComponent.Print(Canvas: TCanvas; Scale: Integer = 100); var L,T,R,B: Integer; begin L := Left * Scale div 100; T := Top * Scale div 100; R := (Left + 200) * Scale div 100; B := (Top + 200) * Scale div 100; Canvas.Ellipse(L,T,R,B); Exit; end; procedure TForm5.Button1Click(Sender: TObject); var I: Integer; Printer: TPrinter; begin //Printer := TPrinter.Create; //Printer.BeginDoc; for I:=0 to ComponentCount -1 do begin if Components[I] is TSampleComponent then begin //TSampleComponent(Components[I]).Print(Printer.Canvas); TSampleComponent(Components[I]).Print(Image1.Canvas,200); end; end; //Printer.EndDoc; //Printer.Free; end; procedure TForm5.FormCreate(Sender: TObject); begin Image1.Width := 1024; Image1.Height := 1024; SC1 := TSampleComponent.Create(Self); SC1.Width := 200; SC1.Height := 200; SC1.Left := 10; SC1.Top := 10; SC2 := TSampleComponent.Create(Self); SC2.Width := 200; SC2.Height := 200; SC2.Left := 220; SC2.Top := 10; end; procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction); begin SC2.Free; SC1.Free; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.