主题:  打印中碰到的问题,赐教

阿州

职务:普通成员
等级:2
金币:10.0
发贴:447
#12003/10/30 1:44:19
想实现打印屏幕某一区域的功能,看到PRNT.U32正有合适的函数

函数:prntscrn
语法:result = prntscrn(screen left, screen top, screen width,screen height, print left, print top, print width, print   height)
功能:该函数将打印指定的部分屏幕区域。其中screen left、screen top、screen width、screen height分别指定了屏幕区域的大小;print left、print top、print width、print height分别指定了打印纸上的具体打印位置。


我在程序中用到的代码如下,打印结果是用白纸,气死我了
----------------------------------------------------------
prntopen(WindowHandle,4,2,1)
prntscrn(4,18,792,533,17,29,792,533)
prntclose()
----------------------------------------------------------
上边那些参数的单位我是按照像素计算的,不知道是否妥当?
帮忙挑挑错,多谢,很少搞精确打印的东西,这是第一次



阿州

职务:普通成员
等级:2
金币:10.0
发贴:447
#22003/10/30 16:27:53



燕云

职务:普通成员
等级:2
金币:10.0
发贴:600
#32003/10/31 10:31:18
多试用几次多花几张纸应该就知道了,上面的top和width的数值好象应该是根据au中系统位置变量转换的吧.(也没用过)


云网媒体【YZCNET.COM】云网媒体开展软件技术、互联网技术、电子商务技术、多媒体设计等服务; 其中包括 :软件开发、网站建设、手机服务、多媒体设计、 图片及演示文稿服务等;

与人同乐

职务:管理员
等级:6
金币:18.0
发贴:3928
#42003/10/31 13:56:11
不如截屏之后(似乎有这种范例)用jumpoutprint 来打印。



魔岩

职务:版主
等级:6
金币:34.0
发贴:4453
#52003/10/31 15:57:40
方法可行。。。范例就在AW的SHOWME里。。



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:954
#62003/10/31 17:13:48
alpicview.ocx可以截屏!!!!!


真正的光明绝不是永没有黑暗的时间,只是永不被黑暗所湮没罢了;真正的英雄绝不是永没有卑下的情操,只是永不被卑下的情操所屈服罢了。

阿州

职务:普通成员
等级:2
金币:10.0
发贴:447
#72003/11/4 9:59:17
谢谢朋友们,我开发成学的这台电脑没打印机,郁闷~

来回折腾吧,到别的电脑上测试。

另外我用
JumpPrintReturn("",FileLocation^"map\\FG\\"^CurrentPageNum^".jpg")
打印指定文件。在XP会掉用照片编辑器来进行打印。

在98和2000下面则会出错,有一个shell 31的错误,目前正在查找原因,找一种合适的打印方法



与人同乐

职务:管理员
等级:6
金币:18.0
发贴:3928
#82003/11/4 10:04:05
保险起见存储为BMP格式,然后用mspaint.exe打印,这个程序哪个版本都有。
JumpPrintReturn("mspaint.exe",FileLocation^"map\\FG\\"^CurrentPageNum^".bmp" )



阿州

职务:普通成员
等级:2
金币:10.0
发贴:447
#92003/11/4 10:10:46
谢谢 老 Y 大哥,我试试



阿州

职务:普通成员
等级:2
金币:10.0
发贴:447
#102003/11/4 15:43:56
用了N张纸终于试验出来了 PRNT.U32还是挺不错的

prntscrn(4,18,792,533,17,29,792,533)

后面四个参数是在打印纸上的打印范围,单位是0.1英寸
而前面四个参数是屏幕的范围,单位是像素

调整好就ok了,不要外部软件,打印很方便。



阿州

职务:普通成员
等级:2
金币:10.0
发贴:447
#112003/11/4 17:33:48
Rock ,你小子竟然知道不告诉我,我的N张纸

来你地盘也不照着点~

见到你一定把你X掉。。。。呵呵~



media2

职务:普通成员
等级:1
金币:0.0
发贴:41
#122005/8/6 10:20:47
我也用这个在打印,能打印出东西来,但有一个问题,就是每一行只能打6个字。字的大小我用的是默认的,没有调整,实在是不明白。

这个里面也没有设置一行的宽度的地方啊,那个open函数只能设定左边距和上边距。



wellzhao

职务:普通成员
等级:1
金币:0.0
发贴:1
#132006/6/6 13:36:07
我也用冷血大哥的方法,怎么打出来的还是白纸啊?您后面的参数跟一开始的参数是一样的啊!??麻烦告诉小弟一下!