打印页面设置

 Private Sub ApplyPageSetup()
        DIm  m_document As PrintDocument = New PrintDocument()
        Dim pageSetup As New PageSetupDialog()
        pageSetup.Document = m_document


        Try
            Dim pIntPtr As IntPtr = New IntPtr(m_pHookhelper.ActiveView.ScreenDisplay.hWnd)
            Dim pCtrl As System.Windows.Forms.Control = System.Windows.Forms.Form.FromHandle(pIntPtr)
            Dim result As DialogResult = pageSetup.ShowDialog(pCtrl)
            If result = DialogResult.OK Then
                '将打印机设置应用到打印文档
                m_document.PrinterSettings = pageSetup.PrinterSettings        '将选中的打印机设置设置到打印文档
                m_document.DefaultPageSettings = pageSetup.PageSettings       '将选中的页面设置设置到打印文档
                '设置默认纸张大小
                Dim i As Integer
                For i = 0 To pageSetup.PrinterSettings.PaperSizes.Count - 1
                    If pageSetup.PrinterSettings.PaperSizes.Item(i).Kind = m_document.DefaultPageSettings().PaperSize().Kind Then
                        m_document.DefaultPageSettings().PaperSize() = pageSetup.PrinterSettings.PaperSizes.Item(i)
                        Exit For
                    End If
                Next i


                '将打印文档的打印机设置应用到PageLayout
                Dim paper As IPaper = New PaperClass()
                Dim printer As IPrinter = New EmfPrinterClass()
                paper.Attach(pageSetup.PrinterSettings.GetHdevmode(pageSetup.PageSettings).ToInt32(), pageSetup.PrinterSettings.GetHdevnames().ToInt32())
                printer.Paper = paper
                m_pPageLayout.Printer = printer
                m_pPageLayout.Refresh(ESRI.ArcGIS.Carto.esriViewDrawPhase.esriViewGraphics, Nothing, Nothing)
            End If
        Catch ex As Exception
           )
        End Try

        pageSetup.Dispose()
    End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值