怎样设定数据窗口打印时纸张的大小,如长为200cm,宽为100cm?

zhangws 2000-07-21 03:55:00
...全文
426 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizx 2000-07-27
  • 打赏
  • 举报
回复
zwsload,您好!

以下是实现自定义纸张的完整例子代码:

声明外部函数:( Declaer - Global External Functions 中 )
Function int GetPaperSize(ref ulong lpPaper,ref ulong lpPaperWidth,ref ulong lpPaperLength, &
ref ulong lpOrientation) Library "SetPaper.dll"
Function int SetPaperSize(uint Width,uint Height,uint Orient) Library "SetPaper.dll"
声明全局变量:( Declaer - Global Variables 中 )
ulong ll_Paper,ll_PaperWidth,ll_PaperLength,ll_Orientation

需要时调用:
//取当前打印机的纸型,宽,长,方向,用于程序结束后恢复原设置.
GetPaperSize(ll_Paper,ll_PaperWidth,ll_PaperLength,ll_Orientation)
//按自己的要求设置自定义纸张大小及方向,并将当前打印机默认纸张设为自定义纸张
setpapersize(100,200,1)
//将数据窗口dw_1设为当前打印机默认纸张,即自定义纸张类型
dw_1.object.datawindow.print.paper.size=0
//将数据窗口dw_1设为打印预览模式
dw_1.object.datawindow.print.preview='yes'

关闭时调用:
//关闭数据窗口打印预览
dw_1.object.datawindow.print.preview='no'

//程序结束后恢复原打印机纸张设置
setpapersize(ll_PaperWidth,ll_PaperLength,ll_Orientation)


SetPaper.dll是用BC++写的。你说你不想用DLL,呵呵,我可以告诉你,PB很多功能
都必须调用外部函数才能实现,如果你对PB功能不满意,那就去用BC++ Builder吧!
lizx 2000-07-26
  • 打赏
  • 举报
回复
PB无法通过自身实现!既然已帮你解决了问题,就给分吧!
zhangws 2000-07-26
  • 打赏
  • 举报
回复
我不想用DLL,能否给出程序,另外设置方向在DATAWINDOW的PRINT PROPERTY中可以设置,
我只想知道怎样设置HEIGHT和WIDTH
zhangws 2000-07-26
  • 打赏
  • 举报
回复
lizx:
我是要用在数据窗口的打印上,例如把窗口w_print的dw_1进行模拟显示和打印,
能根据设定的纸张大小进行分页显示和打印,(例如纸长为40CM时,打印在一页上,若为20CM时,自动分成2页,数据窗口的打印设定只能设为A3,A3等,还有一个自定义纸张,但纸张的长度和宽度要到WINDOWS的"打印机"下去定义),
我还未用你的DLL,能否把用法说的详细些,怎样和窗口上的数据窗口联系起来?
我把这个问题解决后马上给你分数,如果效果好,我可以再多给你一些分数,谢谢!
lizx 2000-07-25
  • 打赏
  • 举报
回复
我写了个动态连接库给你,希望能对你有所帮助,记得给分哦!

声明外部函数:
Function int SetPaperSize(uint Width,uint Height,uint Orient) Library "SetPaper.dll"

参数如下 :
unsignedinteger Width : 纸张宽度,单位mm
unsignedinteger Height : 纸张高度,单位mm
unsignedinteger Orient : 方向,0 : 纵向;1 : 横向
返回值 : boolean
成功 : TRUE
失败 : FALSE

调用以上函数即可!
zhangws 2000-07-24
  • 打赏
  • 举报
回复
数据窗口纸张大小只能设为A3,A4纸等,好象不能设置长为多少CM,宽为多少CM
lizx 2000-07-23
  • 打赏
  • 举报
回复
可设定数据窗口的特性,设置纸张的大小,请参考PB HELP!

1,072

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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