主要用到函数说明:MxDrawXCustomFunction::Mx_Print

直接打印,不出现打印对话框,详细说明如下:

参数

说明

double ptLBx

打印的范围左下角x

double ptLBy

打印的范围左下角y

double ptRTx

打印的范围右上角x

double ptRTy

打印的范围右上角y

LPCTSTR pszPrintName

打印机名,如果传为空,取系统默认打印机

LPCTSTR pszPaperName

打印的图纸名,如果传为空,取系统默认打印机设置

LONG iPrintDirection

打印的方向,2 为横向,1为纵向,默认取1

LONG iLeftMargin

打印的页边的左边距离,如果为-1,取打印机默认的页边距

LONG iRightMargin

打印的页边的右边距离,如果为-1,取打印机默认的页边距

LONG iTopMargin

打印的页边的上边距离,如果为-1,取打印机默认的页边距

LONG iBottomMargin

打印的页边的下边距离,如果为-1,取打印机默认的页边距

LPCTSTR pszLayoutName

打印的布局,为NULL就是模型Model中的内容

LPCTSTR pszPrintConfig

打印配制,暂没有使用

LPCTSTR pszDocName

打印的文档名称,在用pdf虚拟打印机时,指定打印的pdf文件的缺省文件名

LONG lIsPrintLineWdith

是否打印线宽,默认值为1,表示打印,传0表示不打印

iFlag

pRectPageMargin参数的含义,iFlag = 0表示页边距,iFlag = 1表示打印区域矩形框位置

VB代码实现如下:

​​'打印10,10,100,100范围的图纸到当前系统默认设置打印机​​
​​Dim printParam As MxDrawResbuf​​
​​Set printParam = New MxDrawResbuf​​
​​'​​​ ​​打印的左下角10,10​​
​​printParam.AddDouble 10​​
​​printParam.AddDouble 10​​

​​' 打印的右上角100,100​​
​​printParam.AddDouble 100​​
​​printParam.AddDouble 100​​

​​'​​​ ​​开始打印​​
​​MxDrawX1.CallEx ​​​​"Mx_Print"​​​​, printParam​​