Para imprimir um Form utilize o componente PrintForm do
Visual Power Packs.
Os comandos principais são:
1. Para configurar a orientação da página:
PrintForm1.PrinterSettings.DefaultPageSettings.Landscape = Boolean
Se Boolean
= True, o Form será impresso na orientação Paisagem, se
Boolean = False, o Form será impresso na orientação Retrato.
2. Para configurar um tamanho personalizado de papel:
PrintForm1.PrinterSettings.DefaultPageSettings.PaperSize = New System.Drawing.Printing.PaperSize("String",
Int1, Int2)
onde String
é um nome para o tamanho do papel e Int1 é um número inteiro para o largura em
centésimos de polegada e Int2 é um número inteiro para o comprimento em
centésimos de polegada.
3. Para configurar as margens da impressão:
PrintForm1.PrinterSettings.DefaultPageSettings.Margins = New
System.Drawing.Printing.Margins(Int1,
Int2, Int3, Int4)
onde Int1, Int2, Int3 e Int4 são números inteiros que cuja
unidade é em centésimos de polegada e representam, respectivamente, margem
esquerda, direita, superior e inferior.
Lembrando que 1 polegada = 2,54 centímetros.
PrintForm1.PrintAction = PrintAction
onde há três opções para a PrintAction
PrintAction.PrintToFile: Imprime para um arquivo;
PrintAction.PrintToPreview: Exibe uma prévia da página antes da
impressão;
PrintAction.PrintToPrinter: Imprime diretamente na impressora padrão.
Para utilizar o PrintToFile você deve definir antes para qual arquivo a figura
do Form irá com o seguinte comando:
PrintForm1.PrintFileName =
"C:\Teste.eps"
A extensão do arquivo deve ser necessariamente o eps (Para
saber mais: http://pt.wikipedia.org/wiki/Encapsulated_PostScript).
5. Para imprimir o Form:
PrintForm1.Print(Form, printOption)
onde Form é o formulário que ser quer imprimir, se for o
formulário onde está o comando utilize o
Me, e as opções de printOption são as seguintes:
PowerPacks.Printing.PrintForm.PrintOption.ClientAreaOnly:
Utiliza uma nova implementação para imprimir a área cliente visível no momento.
PowerPacks.Printing.PrintForm.PrintOption.CompatibleModeClientAreaOnly: Usa a
implementação de impressão compatível para imprimir a área cliente visível no
momento.
PowerPacks.Printing.PrintForm.PrintOption.CompatibleModeFullWindow: Usa a
implementação de impressão compatível para imprimir o formulário de área visível
no momento. Isso inclui a barra de título, barras de rolagem e borda.
PowerPacks.Printing.PrintForm.PrintOption.FullWindow: Utiliza uma nova
implementação para imprimir o formulário visível no momento. Isso inclui a barra
de título, barras de rolagem e borda.
PowerPacks.Printing.PrintForm.PrintOption.Scrollable: Utiliza uma nova
implementação para imprimir a área inteira do cliente, embora alguns estão fora
de vista.
Simples, não?
segunda-feira, 14 de maio de 2012
Arrastar e Soltar um componente
Para criar o efeito de arrastar e soltar para componentes de um Form, coloque
os seguintes códigos nos eventos correspondente ao componente:
Public Class Form1
Dim drag As Boolean
Dim ptX, ptY As Double
Private Sub Componente_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Componente.MouseDown
drag = True
ptX = e.X
ptY = e.Y
End Sub
Private Sub Componente_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Componente.MouseMove
If drag = True Then
Componente.Location = New Point(Componente.Location.X + e.X - ptX, Componente.Location.Y + e.Y - ptY)
Me.Refresh()
End If
End Sub
Private Sub Componente_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Componente.MouseUp
drag = False
End Sub
End Class
Se quiser especificar qual botão acionará o efeito de arrastar e soltar, coloque o código abaixo em Componente_MouseDown:
If e.Button = Windows.Forms.MouseButtons.Right Then
drag = True
ptX = e.X : ptY = e.Y
End If
Simples. não? Confesso que tirei da página do MSDN.
Public Class Form1
Dim drag As Boolean
Dim ptX, ptY As Double
Private Sub Componente_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Componente.MouseDown
drag = True
ptX = e.X
ptY = e.Y
End Sub
Private Sub Componente_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Componente.MouseMove
If drag = True Then
Componente.Location = New Point(Componente.Location.X + e.X - ptX, Componente.Location.Y + e.Y - ptY)
Me.Refresh()
End If
End Sub
Private Sub Componente_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Componente.MouseUp
drag = False
End Sub
End Class
Se quiser especificar qual botão acionará o efeito de arrastar e soltar, coloque o código abaixo em Componente_MouseDown:
If e.Button = Windows.Forms.MouseButtons.Right Then
drag = True
ptX = e.X : ptY = e.Y
End If
Simples. não? Confesso que tirei da página do MSDN.
Assinar:
Postagens (Atom)