VB程序打印窗体的问题

想用VB放大打印窗体,具体如下:我用VB设计了一个诊断报告打印程序,打印方式采用的是窗体打印,由于特定原因,窗体设计的大小是B5纸大小(注:有要求不能设计为A4大小的窗体... 想用VB放大打印窗体,具体如下:
我用VB设计了一个诊断报告打印程序,打印方式采用的是窗体打印,由于特定原因,窗体设计的大小是B5纸大小(注:有要求不能设计为A4大小的窗体),现在想将这个B5大小的窗体按A4纸打印出来,就是放大约1.3倍打印,如何实现。
打印控件的代码如下:
Form6.FontName = "宋体"
Form6.PrintForm
请问如何增加代码或做何修改?感之不尽。
展开
 我来答
匿名用户
2013-10-15
展开全部
大致能实现要求
不会在内存操作图像,用了一个图片框周转了一下
VB code
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
Private Sub Command2_Click()
Dim nW As Long, nH As Long
nW = form1.Width / Screen.TwipsPerPixelX
nH = form1.Height / Screen.TwipsPerPixelY
BitBlt Picture1.hDC, 0, 0, nW, nH, GetDC(form11.hwnd), 0, 0, SRCCOPY Printer.ScaleLeft = 0
Printer.CurrentX = 0
Printer.PaintPicture Picture1.Image, 0, 0, Printer.Width, form11.Height * (Printer.Width / form11.Width), 0, 0, form11.Width, form11.Height Printer.EndDoc
End Sub
Private Sub Form_Load()
Picture1.Visible = False Picture1.BorderStyle = 0 Picture1.Width = form11.Width Picture1.Height = form11.Height Picture1.AutoRedraw = True
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式