www.mxdraw.com
内容索引主面
前一个向上下一个
MxDraw::Print 方法

直接打印,不出现打印对话框

C++
static BOOL Print(MXDRAWOCXHANDLE hOcx, McGePoint3d ptLB, McGePoint3d ptRT, LPCTSTR pszPrintName, LPCTSTR pszPaperName, int iPrintDirection, CRect* pRectPageMargin = NULL, LPCTSTR pszLayoutName = NULL, LPCTSTR pszPrintConfig = NULL, LPCTSTR pszDocName = NULL, int iFlag = 0, BOOL isPrintLineWdith = TRUE, McGePoint3d* pPrintCen = NULL, double dPrintScale = 1.0, CMxPrintPageHeader* pPageHeader = NULL, bool isCorrectPageMargin = false);
参数 
说明 
MXDRAWOCXHANDLE hOcx 
控件窗口句柄 
McGePoint3d ptLB 
打印的范围左下角 
McGePoint3d ptRT 
打印的范围右上角 
LPCTSTR pszPrintName 
打印机名,如果传为空,取系统默认打印机 
LPCTSTR pszPaperName 
打印的图纸名,如果传为空,取系统默认打印机设置 
int iPrintDirection 
打印的方向,2 为横向,1为纵向 pRectPageMargin = NULL, - 打印的页边距离,如果转NULL就取打印机默认的页边距 pszLayoutName = NULL, - 打印的布局,为NULL就是模型Model中的内容 pszPrintConfig = NULL, - 打印配制,暂没有使用 pszDocName = NULL - 打印的文档名称,在用pdf虚拟打印机时,指定打印的pdf文件的缺省文件名 
int iFlag = 0 
pRectPageMargin参数的含义,iFlag = 0表示页边距,iFlag = 1表示打印区域矩形框位置 
BOOL isPrintLineWdith = TRUE 
是打印线宽,默认是打印的。 
McGePoint3d* pPrintCen = NULL 
打印中心点位置,如果该变量不为NULL,前面的ptLB,ptRT参数将不会被使用,将使用它和打印比例计算打印范围 
double dPrintScale = 1.0 
打印缩放比例,代表图纸上1毫米,代表多少个绘图单位. 
CMxPrintPageHeader* pPageHeader = NULL 
页眉,页脚数据 
bool isCorrectPageMargin = false 
是否自动根据打印区域修证打印页边距 

成功返回TRUE

直接打印,不出来现打印对话框,用户利用函数可以实现更为复杂的批量功能 参考sampleedit.sln中的CTestCommands::BatchPrint 例如:

    //LPCTSTR pszPrintName = _T("5D PDF Creator");
    LPCTSTR pszPrintName = NULL;
    //LPCTSTR pszPaperName = _T("A3");
    LPCTSTR pszPaperName = NULL;
    for(unsigned int i = 0; i < printData.size();i++)
    {

        MxDraw::stuBatchPrintData data = printData[i];
        if(!MxDraw::Print(MxDraw::GetCurOcxHandle(),        
            data.ptLB,
            data.ptRT,
            pszPrintName,
            pszPaperName,
            data.iPrintDirection

            ) )
        {
            break;
        }
    }
Copyright (c) 2010. All rights reserved.
你认为该帮助怎么样? 发送反馈信息!