//--------------------------------------------------------------------------- // 印刷の実行 int __fastcall TPrintDlgBox::Execute(void) { if( (!mColCount) || (!mRowCount) ) return FALSE; int r = FALSE; if( PrintDialog->Execute() == TRUE ){ TForm *pActive = Screen->ActiveForm; if( pActive != NULL ) pActive->Enabled = FALSE; mAbort = 0; CWaitCursor tw; Printer()->Title = "MMANA"; Printer()->BeginDoc(); Printer()->Canvas->Font->Name = "MS ゴシック"; mRC = Printer()->Canvas->ClipRect; if( InitSetup(Printer()->Canvas) == FALSE ){ mAbort = 1; } tw.Delete(); if( !mAbort ){ Show(); for( mPage = 0; mPage < mPageMax; mPage++ ){ // 印刷ループ if( mPage ) Printer()->NewPage(); DispPageStat(); Application->ProcessMessages(); if( mAbort ) break; DrawRect(); Application->ProcessMessages(); if( mAbort ) break; DrawPage(); Application->ProcessMessages(); if( mAbort ) break; } } tw.Wait(); if( mAbort ){ Printer()->Abort(); } else { Printer()->EndDoc(); r = TRUE; } if( pActive != NULL ) pActive->Enabled = TRUE; Visible = FALSE; } return r; }