• Nenhum resultado encontrado

Edit

edt

Item de menu

itm

Menu

mnu

Label

lbl

Form

frm

Monte as demais opções do menu seguindo a figura do Menu Designer mostrada abaixo. Para criar um separador no menu, digite apenas um sinal de menos ( - ) na propriedade Caption do item abaixo de Salvar.

Terminado o menu Arquivo, inicie o menu Editar como segue abaixo. Definindo as teclas de atalho na propriedade ShortCut para cada item do menu.

Quando chegar ao item Formatar Fonte, escolha a opção Create

Submenu do PopupMenu, para criar um submenu deste item.

O sub-menu do item Formatar Fonte, deverá estar igual a figura mos- trada abaixo. Como o Delphi não reconhece caracteres brasileiros, o nome dado ao item Itálico será Itlico, suprimindo do Name o caractere á ( Name:= Itlico).

Feche o Menu Designer, voltando ao formulário principal. Adicione as caixas de diálogo que irão formatar a fonte exibida no componente Memo, e aquelas que irão abrir e salvar arquivos. Os componentes destas cai- xas estão na paleta Dialogs do Delphi.

Acabamos de desenhar o nosso formulário, colocando nele todos os seus componentes, os visíveis e os não visíveis. Mesmo os componentes não visíveis estando sobre o componente Memo, não atrapalharão a apre- sentação do texto.

Salve seu trabalho para dar início à construção do código.

As caixas de diálogo são mostradas através do método Execute. Este método responde True se o usuário selecionou Ok, indicando que o pro- grama deverá responder às alterações da caixa de diálogo exibida. Se o usuário não quiser efetuar as mudanças, será retornado False.

procedure TfrmBlocoNotas.itmNovoClick(Sender: TObject); begin memTexto.Clear; itmRecortar.Enabled:=False; itmCopiar.Enabled:=False; itmColar.Enabled:=False; end;

A opção Abrir trabalhará com a caixa de diálogo OpenDialog, verificando o valor retornado por Execute e carregando o conteúdo do arquivo sele- cionado, na propriedade Lines do objeto memTexto.

procedure TfrmBlocoNotas.itmAbrirClick(Sender: TObject); begin if OpenDialog.Execute then memTexto.Lines.LoadFromFile(OpenDialog.Filename); end;

Digite o código para as outras caixas de diálogo. Elas trabalham alterando as propriedades do Memo após as mudanças realizadas pelo usuário.

procedure TfrmBlocoNotas.itmSalvarClick(Sender: TObject); begin if SaveDialog.Execute then memTexto.Lines.SaveToFile(SaveDialog.Filename); end; procedure TfrmBlocoNotas.itmFonteClick(Sender: TObject); begin FontDialog.Font:=memTexto.Font;

{inicializa a FontDialog com a font de Memo}

if FontDialog.Execute then

memTexto.Font:=FontDialog.Font;

end;

A linha entre chaves indica um comentário, não sendo tra- tada pelo compilador do Delphi.

procedure TfrmBlocoNotas.itmCorClick(Sender: TObject); begin ColorDialog.Color:=memTexto.Color; if ColorDialog.Execute then memTexto.Font.Color:=ColorDialog.Color; end;

Como o memo está ocupando toda área do cliente no formulário, fica praticamente impos-

Quando começar a execução do programa, o evento OnCreat ocorre para o formulário, e o procedimento deste evento irá apagar o conteúdo do Memo e desabilitar as opções do menu Editar.

procedure TfrmBlocoNotas.FormCreate(Sender: TObject); begin memTexto.Clear; itmRecortar.Enabled:=False; itmCopiar.Enabled:=False; itmColar.Enabled:=False; end;

As opções Recortar e Copiar do menu Editar, estarão ativas assim que o Memo contiver algum texto. Cada vez que ocorre uma mudança no Memo, o evento OnChange é gerado.

procedure TfrmBlocoNotas.memTextoChange(Sender: TObject); begin itmRecortar.Enabled:=True; itmCopiar.Enabled:=True; end;

Os recursos de Recortar, Colar e Copiar utilizam o objeto TClipBoard. Com ele nós usamos a área de transferência do Windows e podemos trocar informação entre programas. O objeto Memo possui métodos pró- prios para trabalhar com o Clipboard, eles estão nos procedimentos para os itens do menu Editar mostrados abaixo.

procedure TfrmBlocoNotas.itmRecortarClick(Sender: TObject); begin memTexto.CutToClipboard; itmColar.Enabled:=True; {habilita o item Colar} end;

procedure TfrmBlocoNotas.itmCopiarClick(Sender: TObject); begin memTexto.CopyToClipboard; itmColar.Enabled:=True; end; procedure TfrmBlocoNotas.itmColarClick(Sender: TObject); begin memTexto.PasteFromClipboard; end;

As opções Negrito e Itálico, formatarão o texto e mudarão também a propriedade Checked do item no menu, indicando que elas estão ativas. Os procedimentos associados à negrito e itálico, trabalham junto com o procedimento Fonte que verificará o estado das opções alterando as propriedades da fonte do Memo.

Inicie declarando o procedimento Fonte na seção de definição do tipo TfrmBlocoNotas - o formulário. E com o cursor ainda na mesma linha, clique-direito e no menu escolha a opção Complete Class at Cursor ou pressione Ctrl+Shit+C, para o Delphi adicionar o esqueleto do procedi- mento na seção Implementation.

procedure itmCopiarClick(Sender: TObject);

procedure itmColarClick(Sender: TObject);

procedure Fonte;

private

{ Private declarations }

Após Ctrl+Shit+C, você terá:

Digite:

procedure TfrmBlocoNotas.Fonte;

begin

if not itmNegrito.Checked and not itmItalico.Checked then memTexto.Font.Style:= [];

if itmNegrito.Checked and not itmItalico.Checked then memTexto.Font.Style:= [fsBold];

if not itmNegrito.Checked and itmItalico.Checked then memTexto.Font.Style:= [fsItalic];

if itmNegrito.Checked and itmItalico.Checked then memTexto.Font.Style:= [fsBold, fsItalic];

end;

procedure TfrmBlocoNotas.itmNegritoClick(Sender: TObject);

begin

itmNegrito.Checked:= not itmNegrito.Checked; Fonte;

end;

procedure TfrmBlocoNotas.itmItalicoClick(Sender: TObject);

begin

itmItalico.Checked:= not itmItalico.Checked; Fonte;

Quando o usuário clicar na opção Sair do menu Arquivo, fechará o for- mulário, e como este é o único formulário do programa, a execução dele será finalizada. O formulário é fechado com o método Close.

procedure TfrmBlocoNotas.itmSairClick(Sender: TObject);

begin

Close;

end;

Salve seu trabalho, e teste o programa pressionando F9.

Nós já aprendemos a associar um ícone ao projeto, agora iremos apren- der a fazer um ícone personalizado, utilizando o aplicativo Image Editor do Delphi. Para inicializá-lo, vá até a opção Tools do menu principal do Delphi, e escolha Image Editor.

Na janela de propriedades, escolha uma matriz de 32 x 32 pixels e 16 cores.

Desenhe um ícone semelhante ao da figura abaixo, utilizando recursos semelhantes ao programa Paint do Windows. A cor de fundo (verde) funciona como uma cor Cromaqui - transparente ao fundo.

Salve seu ícone memorizando o nome completo incluindo o caminho. E feche o aplicativo Image Editor.

O formulário possui no canto superior esquerdo o ícone padrão do Delphi. Para trocar este ícone pelo criado anteriormente, deveremos alterar a propriedade Icon do formulário atribuindo a ela o ícone que acabamos de desenhar.

Use este ícone para representar o Bloco de Notas no Windows, da mes- ma forma descrita para a Calculadora.

Quando o usuário escolhe as opções Abrir e Salvar do menu, as caixas de diálogo Abrir e Salvar como são abertas aguardando uma entrada de dados. Até agora neste exemplo estas caixas exibiam todo tipo de arqui- vo sem nenhum tipo de filtro.

Altere também a propriedade Filter do SaveDialog deixando-a igual à primeira linha do OpenDialog. E a propriedade DefaultExt, que indica a extensão padrão para o nome do arquivo que será salvo caso o usuário não escolha nenhuma.

Documentos relacionados