当前位置: 首页>>代码示例>>C++>>正文


C++ EndDoc函数代码示例

本文整理汇总了C++中EndDoc函数的典型用法代码示例。如果您正苦于以下问题:C++ EndDoc函数的具体用法?C++ EndDoc怎么用?C++ EndDoc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了EndDoc函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: PlPrtClose

/*+/csubr/TOC----------------------------------------------------------------
* PlPrtClose - close a print job for a Windows printer
*
* Purpose:
*		Closes a print job for a Windows printer.  "end page" and "end
*		document" commands are sent to the printer.
*
*		After closing the print job, this routine wraps up operations
*		for the PL_CTX for the printout.
*
* Return Value:
*		PL_OK, or
*		PL_PRT_CANCEL  if bAbort is 1 or if PlPrtStatusWindow has been
*					called and the operator clicks Cancel, or
*		other codes for other errors
*
* Notes:
* 1.	If bAbort is 1 (or if pPlot->bPrintCancel is 1), then the printout
*		is aborted, so that nothing is sent to the printer.
* 2.	This routine automatically calls PlotWrapup.
*
* See Also:
*		PlPrtOpenDefault, PlPrtOpenDialog, PlPrtStatusWindow
*
*-Date     Author		Revision
* -------- ------------	--------
* 06-08-95 R. Cole		created
*--------------------------------------------------------------------------*/
int PASCAL
PlPrtClose(
PL_CTX	*pPlot,			// IO pointer to plot context struct for printing
int		bAbort)			// I 1 to abort the printout
{
	int		retStat=PL_OK;
	int		stat;
	PRINTDLG *pPd=NULL;

	if (pPlot->hDC != 0) {
		if (bAbort || pPlot->bPrintCancel)
			stat = AbortDoc(pPlot->hDC);
		else {
			stat = EndPage(pPlot->hDC);
			stat = EndDoc(pPlot->hDC);
		}
	}
	if (pPlot->pPd != NULL) {
		pPd = (PRINTDLG *)pPlot->pPd;
		if (pPd->hDevMode != 0) GlobalFree(pPd->hDevMode);
		if (pPd->hDevNames != 0) GlobalFree(pPd->hDevNames);
		GlobalUnlock(pPlot->hPD);
	}
	if (pPlot->hPD != 0) GlobalFree(pPlot->hPD);
	if (pPlot->hDC != 0) DeleteDC(pPlot->hDC);
	pPlot->hDC = 0;
	pPlot->hPD = 0;
	pPlot->pPd = NULL;

	retStat = PlPlotWrapup(pPlot);
	strcpy(pPlot->szPrintOpen, "cls");

	return retStat;
}
开发者ID:hnordquist,项目名称:Radiation-Review,代码行数:62,代码来源:Pl_prt.cpp

示例2: EndPage

void CWinPrint::Destroy()
{
	// End page
	EndPage();

	// End printing
	EndDoc();

	// Delete the print dc
	if ( m_pd.hDC ) DeleteDC( m_pd.hDC );

	ZeroMemory( &m_pd, sizeof( m_pd ) );

#if defined ( RULIB_USE_PRINTDLG )

	if ( m_pdx.hDC ) DeleteDC( m_pdx.hDC );

	ZeroMemory( &m_pdx, sizeof( m_pdx ) );

#endif

	ZeroMemory( &m_psd, sizeof( m_psd ) );

	ZeroMemory( &m_rect, sizeof( m_rect ) );
}
开发者ID:aminsyed,项目名称:rulib,代码行数:25,代码来源:WinPrint.cpp

示例3: endPrint

void endPrint()
{
    EndPage(pdfDC);
    EndDoc(pdfDC);

    DeleteDC(pdfDC);
}
开发者ID:pjwolfe41,项目名称:MackOil,代码行数:7,代码来源:map.cpp

示例4: Print

void Print(HWND hWnd)
{
	PRINTDLG PrintDialog;
	memset(&PrintDialog, 0, sizeof(PRINTDLG));
	PrintDialog.lStructSize = sizeof(PRINTDLG);
	PrintDialog.hwndOwner = hWnd;
	PrintDialog.hDevMode = NULL;
	PrintDialog.hDevNames = NULL;
	PrintDialog.nCopies = 1;
	PrintDialog.Flags = PD_RETURNDC;
	PrintDialog.nMinPage = 1;
	PrintDialog.nMaxPage = 0xFFFF;
	PrintDlg(&PrintDialog);
	DOCINFO docInfo;
	docInfo.cbSize = sizeof(docInfo);
	docInfo.lpszDocName = L"Printing";
	docInfo.lpszOutput = 0;
	docInfo.lpszDatatype = 0;
	docInfo.fwType = 0;
	StartDoc(PrintDialog.hDC, &docInfo); 
	RECT printRect;
	GetClientRect(hWnd, &printRect);
	StretchBlt(PrintDialog.hDC, 0, 0, scrhor*4, scrvert*4, hdc1, scrhor/3, scrvert/3, scrhor/3*2,scrvert/3*2, SRCCOPY);
	EndDoc(PrintDialog.hDC);
}
开发者ID:LisP94,项目名称:OSiSP,代码行数:25,代码来源:OSiSP1.cpp

示例5: main

main ()
{
	PRINTDLG	pd;
	DOCINFO		di;
	char*		szMessage;

	memset (&pd, 0, sizeof(PRINTDLG));
	memset (&di, 0, sizeof(DOCINFO));

	di.cbSize = sizeof(DOCINFO);
	di.lpszDocName = "Test";

	pd.lStructSize = sizeof(PRINTDLG);
	pd.Flags = PD_PAGENUMS | PD_RETURNDC;
	pd.nFromPage = 1;
	pd.nToPage = 1;
	pd.nMinPage = 1;
	pd.nMaxPage = 1;

	szMessage = 0;

	if (PrintDlg (&pd))
	{
		if (pd.hDC)
		{
			if (StartDoc (pd.hDC, &di) != SP_ERROR)
			{
				StartPage (pd.hDC);

				TextOut (pd.hDC, 0, 0, "Hello, printer!", 15);

				EndPage (pd.hDC);

				EndDoc (pd.hDC);

				szMessage = "Printed.";
			}
			else
			{
				szMessage = "Could not start document.";
			}
		}
		else
		{
			szMessage = "Could not create device context.";
		}
	}
	else
	{
		szMessage = "Canceled or printer could not be setup.";
	}

	if (szMessage)
	{
		MessageBox (NULL, szMessage, "Print Test", MB_OK);
	}

	return 0;
}
开发者ID:anshus012,项目名称:binutils,代码行数:59,代码来源:prntest.c

示例6: EndDoc

void Print::endprint(HWND ohwnd) {                //put the hwnd here

    EndDoc(printdlg.hDC);
    DeleteDC(memDC);
    DeleteDC(printer_mem_dc);
    DeleteDC(printdlg.hDC);
    ReleaseDC(ohwnd, hdc);
}
开发者ID:ndilday,项目名称:virtualu,代码行数:8,代码来源:Oprint2.cpp

示例7: endDoc

void endDoc(int hdc)
{
	//rMessageBox(NULL, MB_APPLMODAL, "in endDoc", "");
	if (bUserAbort)
		AbortDoc((HDC) hdc);
	  else
		EndDoc((HDC) hdc);
}
开发者ID:ygmpkk,项目名称:house,代码行数:8,代码来源:cprinter_121.c

示例8: EndPage

Fl_Gdi::~Fl_Gdi()
{
    if(nPages)
        EndPage(gc_);
    EndDoc(gc_);
    DeleteDC(gc_);
    if(delete_mode_) GlobalFree(mode_);
}
开发者ID:GustavoMOG,项目名称:efltk,代码行数:8,代码来源:Fl_Gdi.cpp

示例9: private_delprinter

/*
 *  Internal printer deletion function.
 */
static void private_delprinter(printer obj)
{
    HDC h = (HDC) obj->handle;
    if (!obj || !h || (obj->kind != PrinterObject)) return;
    EndPage(h);
    EndDoc(h);
    DeleteDC(h);
    return;
}
开发者ID:Bgods,项目名称:r-source,代码行数:12,代码来源:printer.c

示例10: GetProfileString

void CComPrint::PrintBmp(UINT nBmpId)
{
	char szPrinter[200] = "";
	char *pszDevice = NULL;
	char *pszDriver = NULL;
	char *pszOutput = NULL;

	HDC hdcPrint = NULL; // 定义一个设备环境句柄

	static DOCINFO di={sizeof(DOCINFO),"printer",NULL};

	// 得到设备字符串存入数组szPrinter中
	GetProfileString("windows","device",",,,",szPrinter,80); 

	// 将设备字符串分解
	if( (NULL != (pszDevice = strtok(szPrinter,","))) && 
		(NULL != (pszDriver = strtok(NULL,","))) &&
		(NULL != (pszOutput = strtok(NULL,","))))
	{
		// 创建一个打印机设备句柄
		if((hdcPrint = CreateDC(pszDriver,pszDevice, pszOutput, NULL)) != 0)
		{ 
			if (StartDoc(hdcPrint, &di) > 0)	//开始执行一个打印作业 
			{ 
				StartPage(hdcPrint);			//打印机走纸,开始打印 
				SaveDC(hdcPrint);				//保存打印机设备句柄

				#pragma warning(disable:4312)

				// 输出图片
				HBITMAP hBitmap=::LoadBitmap(AfxGetInstanceHandle(),(LPCTSTR)nBmpId);
				BITMAP bitmap;
				::GetObject(hBitmap,sizeof(BITMAP),&bitmap);

				#pragma warning(default:4312)

				HDC dcMem;
				dcMem=::CreateCompatibleDC(hdcPrint);
				HBITMAP hOldBmp=(HBITMAP)::SelectObject(dcMem,hBitmap);

				int nVertCenterPos = ::GetDeviceCaps(hdcPrint, VERTRES) / 2;
				::StretchBlt(hdcPrint,1,50,400,bitmap.bmHeight,dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);

				::SelectObject(dcMem,hOldBmp);
				::DeleteDC(dcMem);
				::DeleteObject(hBitmap);

				RestoreDC(hdcPrint,-1); //恢复打印机设备句柄 
				EndPage(hdcPrint); //打印机停纸,停止打印 
				EndDoc(hdcPrint); //结束一个打印作业 
			} 

			// 用API函数DeleteDC销毁一个打印机设备句柄 
			DeleteDC(hdcPrint);
		}
	}
}
开发者ID:tempbottle,项目名称:TestSet,代码行数:57,代码来源:ComPrint.cpp

示例11: AbortDoc

/* false=error, true=ok */
bool kGUIPrintJobMINGW::End(void)
{
	if(m_error==true) /* some error occured previously, abort */
        AbortDoc (m_printerHDC);
	else
		EndDoc (m_printerHDC);

	return(!m_error);
}
开发者ID:CarlHuff,项目名称:kgui,代码行数:10,代码来源:kguimingw.cpp

示例12: finishDocument

int finishDocument(const int pdcID) {
    HDC pdc = printerDCs[pdcID];
    if (pdc != NULL) {
        if (EndDoc(pdc) > 0) {
            releasePrinterDC(pdcID);
            return JNI_TRUE;
        }
    }
    return JNI_FALSE;
}
开发者ID:hzwjava,项目名称:ORDER,代码行数:10,代码来源:print.cpp

示例13: gdi_abort

/*
 * Clean up the GDI data structures without attempting any more printing.
 */
static void
gdi_abort(void)
{
    if (pstate.out_row) {
	(void) EndPage(pstate.dlg.hDC);
	pstate.out_row = 0;
    }
    (void) EndDoc(pstate.dlg.hDC);

    cleanup_fonts();
}
开发者ID:Oxyoptia,项目名称:x3270,代码行数:14,代码来源:gdi_print.c

示例14: ASSERT

bool CPrinterDC::End(void)
{
	ASSERT(m_hDC);

	m_iLastError = EndDoc(m_hDC);

	// Error occurred?
	if (m_iLastError < 0)
		return FALSE;
	
	return TRUE;
}
开发者ID:chrisoldwood,项目名称:WIN16,代码行数:12,代码来源:PrintrDC.cpp

示例15: cdkillcanvas

/* 
%F cdKillCanvas para Printer.
Termina a pagina e termina o documento, enviando-o para a impressora.
*/
static void cdkillcanvas (cdCtxCanvas *ctxcanvas)
{
  EndPage(ctxcanvas->hDC);
  EndDoc(ctxcanvas->hDC);
  
  cdwKillCanvas(ctxcanvas);
  
  DeleteDC(ctxcanvas->hDC);
  
  memset(ctxcanvas, 0, sizeof(cdCtxCanvas));
  free(ctxcanvas);
}
开发者ID:gcfavorites,项目名称:tastools,代码行数:16,代码来源:cdwprn.c


注:本文中的EndDoc函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。