C
cnetwei
Unregistered / Unconfirmed
GUEST, unregistred user!
请教:在delphi中如何发送打印机控制码?
在我的打印机操作面板上有一个功能按钮——换行,执行后打印机向前走纸0.5cm,我想在程序中调用这个换行功能,请高手指点如何实现?
windows提供的escape可以给打印机发送控制码,其定义如下:
int Escape(
HDC hdc, // 打印机的handle
int nEscape, // escape 函数
int cbInput, // 输入结构的大小
LPCSTR lpvInData, // 输入结构的指针
LPVOID lpvOutData // 输出结构的指针
);
在这个定义中,第二个参数nEscape,我不清楚要传什么呢?说明文档说提到,这个参数必须是一个预先定义好的,windows下提供了如下的几个定义:ABORTDO;ENDDOC;GETPHYSPAGESIZE;GETPRINTINGOFFSET;GETSCALINGFACTOR;NEWFRAME;NEXTBAND;PASSTHROUGH;SETABORTPROC;STARTDOC;其中好像没有我需要的,用于换行的。
在win32api的说明文档中也提到,对于常用的print escape都已经定义对应的方法,如:AbortDoc,EndDoc等,没有对应的用于换行的方法。
同时也了解到,如果需要发送一些私有的print escape 需要用到extEscape函数,该函数的定义如下:
int ExtEscape(
HDC hdc, //设备Handle
int nEscape, // escape function
int cbInput, // number of bytes in input structure
LPCSTR lpszInData, // pointer to input structure
int cbOutput, // number of bytes in output structure
LPSTR lpszOutData // pointer to output structure
);
同样的,在这个函数的定义中,我不知道需要都要传入那些参数呢??
我的环境是delphi7.0/winXP/EPSON LQ-1600KIII
请高手们关注。
在我的打印机操作面板上有一个功能按钮——换行,执行后打印机向前走纸0.5cm,我想在程序中调用这个换行功能,请高手指点如何实现?
windows提供的escape可以给打印机发送控制码,其定义如下:
int Escape(
HDC hdc, // 打印机的handle
int nEscape, // escape 函数
int cbInput, // 输入结构的大小
LPCSTR lpvInData, // 输入结构的指针
LPVOID lpvOutData // 输出结构的指针
);
在这个定义中,第二个参数nEscape,我不清楚要传什么呢?说明文档说提到,这个参数必须是一个预先定义好的,windows下提供了如下的几个定义:ABORTDO;ENDDOC;GETPHYSPAGESIZE;GETPRINTINGOFFSET;GETSCALINGFACTOR;NEWFRAME;NEXTBAND;PASSTHROUGH;SETABORTPROC;STARTDOC;其中好像没有我需要的,用于换行的。
在win32api的说明文档中也提到,对于常用的print escape都已经定义对应的方法,如:AbortDoc,EndDoc等,没有对应的用于换行的方法。
同时也了解到,如果需要发送一些私有的print escape 需要用到extEscape函数,该函数的定义如下:
int ExtEscape(
HDC hdc, //设备Handle
int nEscape, // escape function
int cbInput, // number of bytes in input structure
LPCSTR lpszInData, // pointer to input structure
int cbOutput, // number of bytes in output structure
LPSTR lpszOutData // pointer to output structure
);
同样的,在这个函数的定义中,我不知道需要都要传入那些参数呢??
我的环境是delphi7.0/winXP/EPSON LQ-1600KIII
请高手们关注。