Home>プログラミング講座>Mac C 講座中級> 第四回 プリントアウト

Mac C 講座中級 第四回 プリントアウト


 
 今回はプリントアウトについてです。
 とりあえず、以下のソースコードをみて下さい。
  (どこかの関数の中身です。)



	THPrint printRecordH;
	TPPrPort printPort;
	Rect rect;
	TPrStatus printStatus;
 
	printRecordH = (THPrint)NewHandle( sizeof( TPrint ) );
 
	if( printRecordH == NULL )
	{
	SysBeep( 10 );
	ExitToShell();
	}
 
	PrOpen(); //PrintingManager使用開始
 
	PrintDefault( printRecordH );
 
	if( PrStlDialog( printRecordH ) )
	{
		if( PrJobDialog( printRecordH ) )
		{
			printPort = PrOpenDoc( printRecordH, NULL, NULL );
 
			PrOpenPage( printPort, NULL );
 
			if( PrError() != noErr ) //エラー処理
			{
				SysBeep( 10 );
				ExitToShell();
			}
 
			//rect = (**printRecordH).prInfo.rPage;
			//ここで描画処理をする。
 
			PrClosePage( printPort );
			PrCloseDoc( printPort );
 
			PrClose(); //PrintingManager使用終了
 
			DisposeHandle( (Handle)printRecordH );
		}
	}


 PrStlDialogで用紙設定のダイアログを開き、OKが押されたら、PrJobDialogで、印刷のダイアログを開き、OKが押されたら印刷するという処理です。ちなみに、描画後に印刷される領域はコメントにされているrectの領域のみです。PrOpenPageとPrClosePageによって紙が一枚つくり出されます。二枚目、三枚目…も印刷したい場合はPrCloseDocの前にそのセットを必要な回数くり返せばいいわけです。そして、PrCloseDocによってプリントアウトが開始されます。

[<前の回へ] [次の回へ>]


[Mac C講座中級]
[プログラミング講座]
[Home]