AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 ·...

42
ADS / REDES / ENGENHARIA Prof. Celso Candido DESENVOLVIMENTO DE SOFTWARE AULA 07 Editor de Texto Simples – VB .NET 1 Editor de Texto Simples TEORIA Livro: Microsoft Visual Basic 2010 de Michael Halvorson Editora Bookman, 2011. Cap. 04, págs.. 125 – 147 Cap. 17. págs.. 443 – 464

Transcript of AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 ·...

Page 1: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Editor de Texto Simples – VB .NET

1

Editor de Texto SimplesTEORIA

Livro: Microsoft Visual Basic 2010 de Michael HalvorsonEditora Bookman, 2011.Cap. 04, págs.. 125 – 147Cap. 17. págs.. 443 – 464

Page 2: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Editor de Texto Simples – VB .NET

2

Áreas Funcionais: Menus de acesso; Barra de Ferramentas; Teclas de acesso; Atalhos de menus; Área de digitação; Armazenamento dinâmico de imagens; Formatação de fontes; Visualização de Impressão; Impressão; Configuração de página para impressão.

Page 3: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Editor de Texto Simples – VB .NET

3

Objetos de Controles: ImageList – Lista de imagens; SaveFileDialog – Caixa de diálogo para salvar arquivos; OpenFileDialog – Caixa de diálogo para abrir arquivos; ToolStrip – Barra de Ferramentas de acesso rápido; PrintDocument – Impressão de documentos ativos; PrintDialog – Caixa de diálogo para configurar impressora e

especificar as página a ser impressas; PrintPreviewDialog – Caixa de visualização de impressão; PageSetupDialog – Caixa de configuração de página simples; MenuStrip – Adicionar menus ao programa; FontDialog – Caixa de diálogo para formatar as fontes; ColorDialog para criação de caixas de diálogo padrão.

Page 4: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Editor de Texto Simples – VB .NET

4

Até agora usamos vários controles do Microsoft Visual Studio Express2008, na maioria para coletar entrada do usuário, enquantoutilizávamos um programa.

Agora iremos conhecer a criação de menus, barras de ferramentas ecaixas de diálogo.

Um menu geralmente está localizado em uma “barra de menus” econtém uma lista de comando relacionados.

Uma barra de ferramentas contém botões e outras ferramentas querealizam trabalho útil em um programa.

A maioria dos comandos de menu e da barra de ferramentas sãoexecutadas imediatamente depois de clicados.

Page 5: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Editor de Texto Simples – VB .NET

5

Como exemplo podemos citar quando o usuário clica no comando“Copiar” do menu “Editar”, as informações são imediatamentecopiadas para a “Área de Transferência” e armazenadas na memória.

Mas se o comando de menu for seguido por reticências “...”, clicar nocomando, geralmente exibe uma caixa de diálogo que solicitaráinformações adicionais antes do comando ser executado.

Incialmente veremos a utilização dos controlesMenuStrip e ToolStrip emais adiante como processar: os comando de menu, barra deferramentas e caixas de diálogo.

Page 6: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle MenuStrip

6

O controle MenuStrip é uma ferramenta que adiciona menus aosprogramas, podendo ser personalizado através das configurações desuas propriedades.

Com o MenuStrip além adicionar será possívelmodificar, reordenar, excluir e criar atalhos.

O MenuStrip irá criar somente a parte visível dosmenus, submenus e comandos, precisando apóstudo isso, escrever os procedimentos de eventosno “Editor de Código”.

Quanto a localização dos itens do menu, o VisualStudio estará se encarregando de posiciona‐los.

Page 7: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle MenuStrip

7

O objeto menu não será mostrado noformulário, pois são denominados objetos nãovisíveis, como menus e timers.

Sua visualização só é visível na IDE (IntegratedDevolopment Environment) em um painelseparado, chamado de bandeja de componentes(component tray).

Também teremos uma representação visual do objeto MenuStrip quese encontra na bandeja, na parte superior do formulário.

Objeto MenuStrip A partir desse painel, poderemos configurar suaspropriedades ou excluí‐los.

Page 8: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle MenuStrip

8

A tag Digite Aqui ou Type Here, solicita que sejaclicado na tag e seja inserido o título do menu.

Após a inserção do primeiro título de menu, seráhabilitada a inserção do próximo menu ou umconjunto de submenus, bastando para isso clicarnos locais indicados, “Digite Aqui”.

A interface do MenuStrip é completamente personalizável e com umpouco de imaginação poderá ser criado um conjunto de menuspróximos aos das janelas do Windows.

Caso seja necessário a mudança dos nome dos menus e submenus,poderão ser alterados, simplesmente renomeando.

Page 9: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle MenuStrip

9

Se não desejarmos ter muito trabalho podemos também usar a“Inserção automática” de menus padrões Windows.

Esse tipo de inserção cria os principais menus e seus submenus. Veja ospassos necessários demonstrados na imagem abaixo:

Exemplo:

Page 10: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle MenuStrip – Teclas de Atalho

10

Adicionando teclas de atalho a comandos de menu

Page 11: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle MenuStrip – Teclas de Atalho

11

Serve para executar comandos do menu apenas utilizando o tecladoatravés de comandos de teclas, conhecido como atalhos de teclado.

Após configurada a etapa anterior, selecionamos novamente o menu“Arquivo”, caso não esteja mais selecionado, e passamos para apropriedade “Shortcukeys”, mostrada no próximo slide.

Selecionamos um dos menus e em sua propriedade “Text”adicionamos um “&” antes do caractere que receberá o atalho.

Exemplo: “&Arquivo”.

A tecla de acesso configurada pelo “&” em um item de menu seráidentificada com um traço de sublinhar na sua parte inferior.

Exemplo: Arquivo”.

Page 12: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle MenuStrip – Teclas de Atalho

12

A tecla “Alt” épressionada emconjunto com atecla “A”.

O caractere sublinhado na palavra “Arquivo”, ou seja, a tecla “A”, échamada de tecla de acesso, que trabalhará em conjunto com a tecla“Alt”.

Page 13: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle MenuStrip – Teclas de Atalho

13

Para as demais teclas dos menus e submenus o procedimento é omesmo:

No Menu Designer, na visualização do “Form1”, selecionamos omenu que receberá a tecla de acesso e o atalho de teclado;

Digitamos um “e comercial (&)” antes docaractere que será nossa tecla de acesso napropriedade “Text” e configuramos o atalhode teclado na propriedade “Shortcukeys”.

Para atalhos dos itens dos menus o únicoprocedimento diferente é o uso da tecla“Ctrl” em vez do “Alt”, como na imagem dopróximo slide.

Page 14: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle MenuStrip – Teclas de Atalho

14

A tecla “Ctrl” épressionada emconjunto com atecla “N”.

O caractere sublinhado na palavra “Novo”, ou seja, a tecla “N”, échamada de tecla de acesso, que trabalhará em conjunto com a tecla“Ctrl”.

Page 15: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle MenuStrip – Teclas de Atalho

15

Nomes mais comuns de uma barra de menus, como a primeira letrasempre emmaiúsculo são: Arquivo, Editar, Exibir, Formatar e Ajuda.

Use sempre legendas curtas e específicas, no máximo duas palavras;

Ao se criar itens de menus, siga algumas diretrizes:

Sempre que necessário atribua a cada item do menu uma tecla deacesso, se possível sempre a primeira letra de cada item;

Se um comando é utilizado como um alternador dos estadosativado e desativados, devemos colocar uma marca de seleção àesquerda do item quando este estiver ativo;

Page 16: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle MenuStrip – Teclas de Atalho

16

Para se adicionar uma marca de seleçãoprecisamos configurar a propriedade“Checked” do comando de menu como“True” na janela “Properties ouPropriedades”, referente ao item do menu.

Colocar reticências (...) depois de um comando de menu indica quepoderá ser aberta uma caixa de diálogo ao ser selecionada pelousuário.

Ao se finalizar a montagem dos menus e comando, estes passam afazer parte do objeto “MenuStrip”.

O próximo passo é começar a desenvolver suas funcionalidadesescrevendo os procedimentos de eventos.

Page 17: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle MenuStrip

17

Adicionando Barra de Ferramentas com o Controle ToolStrip

Page 18: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle ToolStrip

18

Poderá se trabalhar paralelamente através do controle “MenuStrip” doVB .NET para adicionar rapidamente barras de ferramentas à interfacedo seu programa.

Esses recursos quando usados para trabalhar juntos, poderemosadicionar vários recursos às barras de ferramentas.

É o controle “ToolStrip”, que é inserido em umformulário do VB .NET e fica ativo na bandeja decomponentes do IDE, não aparecendo naexecução do aplicativo, exatamente como o“MenuStrip”, na figura ao lado.

Page 19: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle ToolStrip

19

Então para adicionarmos um menu padrãoWindows como o da figura 01, devemos usar umcontrole de tarefas ToolStrip seguindo os passosda figura 02:

Figura 01

Figura 02

Incialmente clicamos na “MarcaInteligente” e depois em “InserirItens Padrão” e teremos nossomenu padrão inserido de formaautomática.

Page 20: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Caixa de Diálogo

20

O Visual Studio para o VB, contém oito controles de caixa de diálogo padrãonas guias “Dialogs” da Toolbox, que se encontram no namespace (espaço denomes) System.IO e que precisa ser importada para a primeira linha do“código fonte” antes do “Public Class”. Exemplo: “Imports System.IO”.

Essas caixas de diálogos estão prontas, portanto, não será necessário criarbotões para essas funções e nem personalizar esses comando para as tarefasmais comuns nos aplicativos Windows, como abrir, salvar e imprimir arquivos.

O que será necessário é o de escrever os códigos de procedimentos doseventos que conecta essas caixas de diálogos ao programa emdesenvolvimento.

Page 21: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Caixa de Diálogo

21

UM RESUMO RÁPIDO DOS CONTROLES DE CAIXA DE DIÁLOGO

Nome do Controle Finalidade

OpenFileDialog Obtém a unidade, o nome de pasta e o nome de arquivo para umarquivo existente.

SaveFileDialog Obtém a unidade, o nome de pasta e o nome de arquivo para umarquivo novo.

FontDialog Permite ao usuário escolher um novo tipo de fonte e estilo.

ColorDialog Permite ao usuário selecionar cores em um paleta.

FolderBrowserDialog Permite ao usuário navegar pela estrutura de pastas de umcomputador e selecionar uma pasta.

PrintDialog Permite ao usuário configurar opções de impressão.

PrintPreviewDialog Exibe uma caixa de diálogo para visualizar impressão semelhanteao modo de exibição do programa Word.

PageSetupDialog Permite ao usuário controlar opções de configuração de página:como margens, tamanho do papel e layout.

Page 22: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Caixa de Diálogo

22

O OpenFileDialog necessita de mais algumas informações referentes asuas propriedades.

Selecionando o controle OpenFileDialog que foi arrastado para oprojeto temos algumas propriedades que precisam no geral sempreserem configuradas, são elas:

(Name) – Nome do controle que aparece no código fonte; DefaultExt – Estabelece a extensão padrão do aplicativo. Exemplo:

“txt”; FileName – Padrão em branco. Se for colocado um nome qualquer

neste campo, por exemplo, “Arquivo”, toda vez que formosabrirmos um arquivo aparecerá na janela “Abrir” em seu campo“Nome:” a palavra “Arquivo”;

Page 23: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Caixa de Diálogo

23

Filter – Aqui teremos que digitar em uma determinada ordem de leiturapara que possa ser apresentado os arquivos para abertura na área detrabalho do programa. Exemplo de instrução:“Todos os Arquivos (*.*)|*.*|Textos (*.txt)|*.txt|WorPad (*.rtf)|*.rtf”,onde temos:o Três tipos de procura de arquivos: *.*, *.txt e *.rtf;o Várias barras “|” separando as informações;o O item “Todos os Arquivos (*.*)|*.* está indicando para VB duas

informações interligadas:• Todos os Arquivos (*.*) – Primeira informação, esta que será

apresentada na janela “Abrir”;• *.* – Segunda informação, esta indica o tipo de arquivo a abrir.

InitialDirectory – Indica o diretório onde a busca se inicia. Exemplo: “C:\”.

Page 24: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão

24

Classe PrintDocument

Leitura de Impressão – PrintPageConfiguração de página – PageSetupDialog

Visualização de Impressão – PrintPreviewDialog

Page 25: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão

25

Esta é nossa última etapa sobre as informações sobre designers dasinterfaces.

Todas as informações passadas até este momento, mostravam umaplicativo estático sem interação com outros componentes, como:

Configuração de página para a impressão; Configuração e escolher a impressora; Visualizar como deverá sair a impressão.

Produzir uma saída impressa para um programa qualquer, não costumaser um processo comum, trivial, a técnica a usar dependenecessariamente do tipo e quantidade de saída impressa a gerar.

Page 26: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão

26

O mecanismo fundamental que faz ser possível e que regula aimpressão no VB .NET é a classe PrintDocument, podendo ser criadaem um projeto de duas maneiras:

1. Adicionando o controle PrintDocument a um formulário;2. Definindo seus procedimentos de eventos nas linhas do código

fonte, no Editor de Código;

A classe PrintDocument encontra‐se no namespace (espaço de nomes)System.Drawing.Printing, fornecendo várias classes úteis paraimprimir textos e gráficos, precisando ser importada para a primeirado “código fonte” antes do “Public Class”.

Exemplo: “Imports System.Drawing.Printing”.

Page 27: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

27

As técnicas de impressão do objeto PrintDocument é limitada, servindosomente para impressões simples de apenas uma página, nãopermitindo linhas longas de impressão e não quebra as linhasautomaticamente quando alcançam a margem do papel.

Uma outra dificuldade é o de não entender o que seria uma página detexto, simplesmente enviando o texto para a impressora padrão.

Se o texto for muito longo não irá conseguir se ajustar em uma únicapágina, sendo que o texto excedido não será impresso.

Para tratarmos o problema de impressão de várias páginas,precisamos criar uma página de texto virtual chamada “PrintPage” eassim adicionar texto até o limite da página de impressão.

Page 28: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

28

Quando a página estiver cheia ou no seu limite de impressão, seráenviada a impressora, continuando esse processo até não haver maistextos e imprimindo quantas páginas forem necessárias para seu fim.

Como comentado no slide anterior, um dos mecanismos que nospossibilita a impressão de várias páginas é evento “PrintPage”, ocorrequando uma página é impressa.

O “PrintPage” recebe um argumento do tipo “PrintPageEventsArgs”que fornece as dimensões e características da página atual paraimpressão.

Um outro mecanismo é o método “Graphics.MeasureString”, quepode ser usado para determinar quantos caracteres e linhas podemcaber em uma área retangular da página.

Page 29: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

29

Para que o evento “PrintPage” possa ocorrer normalmente nãopodemos usar um “TextBox” para digitação ou apresentação de algumarquivo de texto, mas sim, um “RichTextBox”.

O controle “RichTextBox” é uma versão mais completa, robusta, docontrole “TextBox” para se exibir textos diversos.

Outro controle que trabalho em conjunto com os já mencionados, é o“OpenFileDialog”, que permitirá selecionar um arquivo de texto paraimpressão, já comentado.

Também precisaremos usar o controle “PrintDialog” para que oprograma possa exibir um caixa de diálogo “Print” padrão doWindowse assim especificar várias configurações de impressão.

Page 30: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

30

Detalhes de configuração principais do objeto “PrintDialog”:

AllowCurrentPage – Habilita e desabilita o botão de opção dapágina atual;

AllowPrintToFile – Ativa e desativa a caixa de seleção imprimir emarquivo;

AllowSelection – Habilita e desabilita o botão de opção Seleção; AllowSomePage – Habilita e desabilita o botão de opção Páginas.

A seguir alguns exemplos de telas sobre “PrintPage”.

Page 31: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

31

Page 32: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

32

Page 33: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

33

Page 34: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

34

PrintPreviewDialog

PageSetupDialog

Page 35: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

35

Na Toolbox do VB .NET temos dois controles de impressãosuplementares que irão melhorar as opções para configuração dodocumento que será impresso, são:

1. O controle “PrintPreviewDialog que exibe uma caixa de diálogopara visualização da impressão;

2. O controle “PageSetupDialog” que exibe uma caixa de diálogopara configuração da página a ser impressa.

Page 36: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

36

Dim abreArquivo As String'Exibe a caixa de diálogo "Abrir" e seleciona o arquivo de texto.OpenFileDialog1.Filter = "Todos os Arquivos (*.*)|*.*“OpenFileDialog1.ShowDialog()'Se o botão "Cancelado" não tiver sido selecionado, carrega a variáriavel " abreArquivo ".If OpenFileDialog1.FileName <> "" Then

abreArquivo = OpenFileDialog1.FileNameTry

'Irá ler o arquivo selecionado e carregar no RichTextBox1.Dim selecionaArq As New FileStream (abreArquivo, FileMode.Open)RichTextBox1.LoadFile (selecionaArq, RichTextBoxStreamType.PlainText)selecionaArq.Close()'Inicializa a string para impressão.StringtoPrint = rtbEditor.Text'Ativa o botão de impressão.btnImprimir1.Enabled = True

Exemplo de código para o botão “Abrir – btnAbrir1” do menu “Arquivo”:

Continua...

Page 37: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

37

btnSetup.Enabled = TruebtnPreview.Enabled = True

Catch ex As Exception'Exibe uma mensagem de erro.MessageBox.Show("Houve um erro de impressão.")

End TryEnd If

Quando o botão “Abrir” é clicado, temos a exibição de uma caixa dediálogo “Abrir”, usando um filtro para arquivos do tipo “txt”.

Ao selecionar um arquivo para abertura, teremos o nome do arquivoatribuído a uma variável string pública “abreArquivo”, declara noprocedimento “Dim”.

Page 38: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

38

Esse procedimento de evento então usa uma rotina de tratamento deerro “Try...Catch” para carregar o arquivo de texto no objetoRichTextBox1.Para garantir o processo de carregamento foi usada a classe“FileStream” para a abertura do arquivo, que estará colocando oconteúdo completo do arquivo de texto na variável criada de nome“selecionaArq”.

Dim selecionaArq As New FileStream (abreArquivo, FileMode.Open)

Por final o procedimento de evento irá ativar o botão Print (btnPrint)para que possa ser impresso o arquivo.

Em resumo teremos um arquivo aberto e será ativado o botão deimpressão no formulário.

Page 39: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

39

Try‘Carrega as config. de pág. e exibe a caixa de diálogo de config. de página.PageSetupDialog1.PageSettings = PrintPageSettingsPageSetupDialog1.ShowDialog()

Catch ex As ExceptionMessageBox.Show("Ocorreu um erro.”)

End Try

Exemplo de código para PageSetupSettings:

Uma variável qualquer declara no início do código fonte, apenas comoexemplo, armazena as informações de definição da página atual, quandoatribuídas à propriedade “PageSettings” do objeto “PageSetupDialog1”, ométodo “ShowDialog” carregará automaticamente uma caixa de diálogopermitindo modificar o que o programa selecionou com orientação de páginapadrão, margens e assim por diante.

Page 40: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07 Controle de Impressão - PrintPage

40

Try‘Especifica as configurações de página atual.PrintDocument1.DefaultPageSettings = PrintPageSettings‘Especifica um documento para a caixa de diálogo de visualização de impressão e exibe.StringtoPrint = RichTextBox1.TextPrintPreviewDialog1.Document = PrintDocument1PrintPreviewDialog1.ShowDialog()

Catch ex As ExceptionMessageBox.Show("Ocorreu um erro. Não é possível abrir a caixa de diálogo.")

End Try

Exemplo de código para PrintPreviewDialog:

O procedimento de evento btnPreview_Click atribui a variável PrintPageSettings àpropriedade DefaultPageSettings do objeto PrintDocument1, em seguida copia otexto para a varável StringtoPrint e abre a caixa de diálogo PrintPreview, este último,usa automaticamente os dados de configurações de página para exibir umarepresentação visual de como o documento será impresso.

Page 41: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07

41

AULAS DE APOIO

Estarão disponibilizadas nos descritos a baixo para downloads osarquivos nos formatos: PowerPoints ou Word das aulas. Algunsestarão disponíveis para impressão, outros, somente para leitura,mas não para edição. Em alguns casos em que se fizer necessário aimpressão, o professor estará liberando para um melhordesenvolvimento dos trabalhos a ser solicitados.

www.aulasprof.6te.net ou www.profcelso.orgfree.com/

Contato: [email protected]

Page 42: AULA 07 Editor de Texto TEORIAprofcelso.orgfree.com/.../AULAS/07_Aula_Menus.pdf · 2014-03-27 · AULA 07 Editor de Texto Simples – VB .NET 4 Até agora usamos vários controles

ADS/REDES/ENGENHARIA Prof.CelsoCandido

DESENVOLVIMENTO DE SOFTWARE

AULA 07

42

FIM