我用这个命令时,可不可以先用一个什么命令,预览一下要打印的这个窗体??

解决方案 »

  1.   

    没有命令..
    要预览的话.可以自己先print到一个picture控件,这个和打印输出的效果是一样的
      

  2.   

    你可以用bitble获取窗体图片,然后把它放在picture里
    【声明】
    Public Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (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
    【说明】
    将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容
    【返回值】
    Long,非零表示成功,零表示失败。会设置GetLastError
    【参数表】
      hDestDC --------  Long,目标设备场景  x,y ------------  Long,对目标DC中目标矩形左上角位置进行描述的那个点。用目标DC的逻辑坐标表示  nWidth,nHeight -  Long,欲传输图象的宽度和高度  hSrcDC ---------  Long,源设备场景。如光栅运算未指定源,则应设为0  xSrc,ySrc ------  Long,对源DC中源矩形左上角位置进行描述的那个点。用源DC的逻辑坐标表示  dwRop ----------  Long,传输过程要执行的光栅运算
    【其它】
    在NT环境下,如在一次世界传输中要求在源设备场景中进行剪切或旋转处理,这个函数的执行会失败
      如目标和源DC的映射关系要求矩形中像素的大小必须在传输过程中改变,那么这个函数会根据需要自动伸缩、旋转、折叠、或切断,以便完成最终的传输过程
      

  3.   

    me.printform不能预览,而且打印出来的效果非常不好,后来我改用excel打印了,因为我不会用print对象
      

  4.   

    有谁有excel的实例,发个给我好吗?[email protected]
      

  5.   

    这个是我的打印代码,你先建立一个模板我这里是admjiufen.xls,设置好页面,然后建立一个临时文件temp.xls,就可以了Dim xlApp As Excel.Application
        Dim strSource, strDestination As String
        Dim nCol, nRow As Integer    strSource = App.Path & "\report\admJiufen.xls"
        
        'RegisterFee.xls就是一个模版文件
        strDestination = App.Path & "\report\Temp.xls"
        FileCopy strSource, strDestination
        '将模版文件拷贝到一个临时文件
        
        
        Set xlApp = New Excel.Application
        Set xlApp = CreateObject("Excel.Application")
        '激活EXCEL应用程序
        xlApp.Visible = False '隐藏EXCEL应用程序窗口
        Set xlBook = xlApp.Workbooks.Open(strDestination)
        '打开工作簿,strDestination为一个EXCEL报表文件
        Set xlsheet = xlBook.Worksheets(1)
        '设定工作表
        'Me.datPrimaryRS.Recordset.Open
        
        '赋值
        With MSHFlexGrid1
            For j = 0 To .Rows - 2
                .Row = j + 1
                For i = 0 To .Cols - 1
                    .Col = i
                    If IsNull(.Text) = False Then
                       xlsheet.Cells(j + 6, i + 1) = Trim(.Text)
                    End If
                Next i
            Next j
        End With
            
        xlBook.Save  '保存文件
        xlsheet.PrintOut  '执行打印
        xlApp.Quit  '退出EXCEL
      

  6.   

    有事情可以给我发邮件[email protected],我菜鸟,大家共同探讨哈