超市用的纯API操作打印机无模块完整版

易语言 2020-03-18 14:16:00

超市用的纯API操作打印机无模块完整版

.子程序 print, 逻辑型, 公开, 打印
.参数 draw, 子程序指针, , 绘制指针: ([int] context, [int] index, [int] custom)
.参数 margin, Margin, 可空, 边距偏移: (单位: 毫米)
.参数 custom, 整数型, 可空, 自定义参数
.局部变量 response, response_this
.局部变量 disponse, draw_this
.局部变量 i, 整数型

this.draw = GetPiont (draw)
.如果真 (this.memory ≠ 0 且 this.device ≠ 0)
response.memory = new (4096) ' 申请一个绘画空间
.如果真 (response.memory ≠ 0)
disponse.device = this.device ' 设备句柄
.如果真 (scene (margin, disponse, response)) ' 创建一个屏幕画布
toMemory (response.memory, disponse, LocalSize (disponse)) ' 拷贝到内存
.计次循环首 (this.count, i)
API_GdipGraphicsClear (response.graphics, -1)
API_Call ({ 85, 139, 236, 255, 117, 20, 255, 117, 16, 255, 117, 12, 255, 85, 8, 201, 194, 16, 0 }, this.draw, response.memory, i, custom)
API_BitBlt (this.device, response.rc.x, response.rc.y, response.rc.width, response.rc.height, response.hDc, 0, 0, 13369376) ' 把画布复制到打印机
API_EndPage (this.device) ' 画布准备完成, 发送至打印机
.计次循环尾 ()
unscene (response) ' 释放场景画布
.如果真结束
delete (response.memory)