能否用api底层函数来处理 “数据窗口 和 一些字符串的混合打印问题 “

csdsjkk 2005-09-07 09:28:40
这是我在datawindow模块发的帖子:
-------------------------------------------------------------
数据窗口 和 一些字符串的混合打印问题
作  者: csdsjkk ()
等  级:
信 誉 值: 106
所属社区: PowerBuilder DataWindow
问题点数: 50
回复次数: 4
发表时间: 2005-09-05 09:42:28



要求:
先打印字符串
再打印数据窗口
结果是:
数据窗口把部分字符串覆盖了
请问:
怎样把数据窗口打印在字符串的下一行



回复人: lzheng2001(1加1) ( ) 信誉:165 2005-09-05 09:58:00 得分: 0


ulong li_job
li_job = PrintOpen("Phone List")
PrintSent(li_job, "字符串")
PrintDatawindow(li_job,dw_1)
PrintClose(li_job)


Top

回复人: csdsjkk() ( ) 信誉:106 2005-09-05 10:07:00 得分: 0


为什么:
字符串中的汉字全部打成乱码?
使用1600k3 打印机



Top

回复人: lzheng2001(1加1) ( ) 信誉:165 2005-09-05 13:34:00 得分: 0


如果只是在PB程序中才打印乱码的话,试试打PB补丁吧. 正常是不应该出乱码的, 当然有时与系统默认字体有关.




Top

回复人: csdsjkk() ( ) 信誉:106 2005-09-05 15:43:00 得分: 0


现在用的版本是 pb 8.04 build 10784
不知要打哪个补丁?

还有没有其他方法呢?
请指教

-------------------------------------------------------------------

可怜,几天过去,到现在只有一个朋友做了回答,但是也没有解决问题

我翻遍了pb的资料,好像也没有找到更高级的打印控制功能
所以我考虑用 windows api 打印函数来处理
但是我水平差,不知道该怎么做
特请求api高手帮助,将不胜感激
...全文
111 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzheng2001 2005-09-08
  • 打赏
  • 举报
回复
如果纸张是连续的,可以用自定义纸张的方法解决.

其他关于自定义纸张的相关链接:

http://www.tiantiansoft.com/bbs/dispbbs.asp?boardid=3&star=2&replyid=24801&id=61338&skin=0&page=1
http://www.pdriver.com/display.asp?key_id=1546
http://cpb.cn/download_info.asp?id=44
http://cpb.cn/download_info.asp?id=49
http://www.tiantiansoft.com/bbs/dispbbs.asp?boardid=3&star=2&replyid=232017&id=52583&skin=0&page=1
http://www.tiantiansoft.com/bbs/upfile/237.rar
WIN2K下:
http://www.tiantiansoft.com/bbs/upfile/237.rar
WIN98下:
http://www.tiantiansoft.com/bbs/upfile/255.zip
csdsjkk 2005-09-07
  • 打赏
  • 举报
回复
把打印字符串和打印dw做成两个job
打完第一个job后,
用控制码把打印机页长设为0,
再打印第二个job时就不会换页而是接着第一个job打
可否?
csdsjkk 2005-09-07
  • 打赏
  • 举报
回复
而且我认为这个问题根本不能用打印机控制码来解决,这其实不关打印机的事
而是pb(或者windows)在管理打印
jdsglxg 2005-09-07
  • 打赏
  • 举报
回复
我设想dc的输出:
可能是字符串1位图和dw位图紧挨着
有没有办法让dw位图向下移开点位置,把空位留给字符串2位图
jdsglxg 2005-09-07
  • 打赏
  • 举报
回复
嘿,规矩还挺多
csdsjkk 2005-09-07
  • 打赏
  • 举报
回复
几个api斑竹能否指点一二
csdsjkk 2005-09-07
  • 打赏
  • 举报
回复
至于用打印控制码来做,恐怕太麻烦
因为目前并未确定打印机的型号,而且这是多用户程序,不只用一台打印机
csdsjkk 2005-09-07
  • 打赏
  • 举报
回复
可能我的问题没说详细
要求是这样的:
字符串1打印在第一行
字符串2打印在第二行
数据窗口打印在第三行,
但是,
现在数据窗口总是打在第二行
把字符串2盖住了
问:
怎样能把数据窗口打在第三行?
lzheng2001 2005-09-07
  • 打赏
  • 举报
回复
printsend向打印机发送指令,可控件打印机的打印属性,可能也用得上的,你可以查查FAQ上的贴子
lzheng2001 2005-09-07
  • 打赏
  • 举报
回复
用这个代码就行了,上次我只是写错了一个PrintSend这个函数,应该用PrintText()
ulong li_job
li_job = PrintOpen("Phone List")
PrintText(li_job, "测试",10,10)
PrintDatawindow(li_job,dw_1)
PrintClose(li_job)

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧