Escolar Documentos
Profissional Documentos
Cultura Documentos
Tipos de Menu
PUC-Rio TBDS
IU
Laboratrio de Tecnologias de BD
IU A construo de Menus
Professores:
Tipos de Menu
PUC-Rio TBDS
IU
O MainMenu
Ex.:
Itens do Menu Principal e seus sub-itens
PUC-Rio TBDS
IU
Em tempo de projeto
teclas aceleradoras
ex.: caption := &Incluir caption := S&obre
MainMenu
DI-TecBD
Em tempo de execuo
3
DI-TecBD
O MainMenu
Ex.: Como constru-lo ?
PUC-Rio TBDS
PUC-Rio TBDS
IU
Em tempo de execuo pode ser criada usando a funo ShortCut. Por ex.,
// cria o atalho, Ctrl+N associado ao item de menu MnuArquivoNovo.
Ex: ALT+Tecla_Sublinhada
DI-TecBD
IU Ctrl+A : Ctrl+Z Ctrl+Alt+A : Ctrl+Alt+Z F1 : F12 Ctrl+F1 : Ctrl+F12 Shift+F1 : Shift+F12 Shift+Ctrl+F1 : Shift+Ctrl+F12 ins Shift+ins Ctrl+Ins Del Shift+del Ctrl + del Alt + bkSp Shift+Alt+BkSP
6
O MainMenu
Ex.: O uso de cones no Menu Adicionando Imagem em item de Menu
PUC-Rio TBDS
IU
O MainMenu
PUC-Rio TBDS
IU
Imagens ajudam os usurios a navegarem em Menus quando estas so similares s da barra de ferramentas. Por ex.:
Um item de Menu da classe TMenuItem. Sua propriedade BitMap uma referencia para o nome do bitmap desejado para o menu ou item de menu. As imagens para sua aplicao devem ser organizadas em uma lista de imagens. Por ex.: Bitmaps de mesmo tamanho, usualmente so colocados em uma lista de imagens. Uma lista de imagens facilita a introduo das mesmas no Menu. cones so encontrados em: Arquivos Comuns/ Borland/ Shared/Images/Icons/ O PICTURE EDITOR proporciona: selecionar a imagem desejada (Load..) salvar a imagem selecionada (Save..)
DI-TecBD
PUC-Rio TBDS
PUC-Rio TBDS
IU
IU
As propriedades Checked, Visible e Enabled permitem configurar adequadamente os itens de uma barra de menus.
Checked- serve para criar itens de menu de verificao. Seu valor (default) false. Visible - serve para esconder ou no um item de menu. Seu valor (default) true. Enabled - serve para habilitar ou no um item de menu. Seu valor (default) true Ex.: procedure TForm1.FormCreate(Sender: TObject); Begin mnutesteC1. Enabled := false // desabilita mas no esconde mnuTesteA1.Checked := true // inicializa como marcado end; procedure TForm1.mnuTesteA1Click(Sender: TObject); begin mnuTesteA1.Checked := not mnuTesteA1.Checked; // marca ou desmarca mnuTesteB1.Visible := not mnuTesteB1.Visible; // mostra ou esconde mnutesteC1.Enabled := not mnutesteC1.Enabled // habilita ou desabilita end; DI-TecBD
Menu PopUp
DI-TecBD
10
O PopUpMenu
Ex. utilizando os dois tipos de Menus
PUC-Rio TBDS
IU
O PopUpMenu
Ex.: Como constru-lo ? Duplo Click no componente PopUpMenu Inserido no formulrio
PUC-Rio TBDS
IU
Em tempo de projeto
Por default, a propriedade name PopUpMenu1. No ex. alteramos essa Em tempo de execuo propriedade
11
DI-TecBD
12
O PopUpMenu
Ex.:
PUC-Rio TBDS
IU
O - PopUpMenu
Diferenas entre Terminate e Close
Application.Terminate = FrmPrincipal.Close
PUC-Rio TBDS
IU
type Classes TFrmPrincipal = class(TForm) PopupPrincipal: TPopupMenu; PopupSocios: TMenuItem; PopupDependentes: TMenuItem; Atributos PopupSocioIncluir: TMenuItem; popupSocioAlterar: TMenuItem; popupSocioExcluir: TMenuItem; N1: TMenuItem; popupSocioSair: TMenuItem;
14
O PopUpMenu
Ex.:
PUC-Rio TBDS
IU
O PopUpMenu
Ex.:
PUC-Rio TBDS
IU
Ao selecionar no menu suspenso, o item Scios/Incluir, o formulrio FormSocioIncluir dever ser exibido! Idem ao selecionar item Incluir do menu popupSocio.
Programando dois de Menu para usarem a mesma procedure de evento Por ex., o evento OnClick do item de Menu Incluir do popupPrincipal usar a mesma procedure de evento do item Incluir do menu suspenso MainMenu1. Para isso faa:
Duas vezes a mesma tarefa ? Seria possvel ambos usarem a mesma procedure de evento? Sim! Como?
DI-TecBD
procedure TFrmPrincipal.MnuIncluirClick(Sender: TObject); begin // Exibe o formulrio FormSocioIncluir FormSocioIncluir.ShowModal end; procedure TFrmPrincipal. popupSocioIncluirClick(Sender: TObject); begin // Exibe o formulrio FormSocioIncluir FormSocioIncluir.ShowModal end; ShowModal - mtodo que mostra um formulrio previamente fechado.
15
DI-TecBD
Verifique a lista de eventos do item Incluir do menu popupPrincipal Abra a caixa de lista do evento OnClick Selecione o nome da procedure de evento que ser associada ao item Incluir do popupPrincipal, por exemplo MnuSociosIncluirClick.
16
PUC-Rio TBDS
IU
O PopUpMenu
PUC-Rio TBDS
IU
possvel existir diversos menus do tipo PopUpMenu em um mesmo formulrio? R: Sim, os componentes visuais possuem a propriedade PopupMenu. Por ex., cada o objeto da IU ao lado pode receber a ao de um MenuPopUp.
Selecione um objeto da IU e faa a sua propriedade PopupMenu receber o objeto PopUpMenu definido em seu formulrio mais apropriado (aquele que representa melhor o contexto). No exagere !!!
17
DI-TecBD
18
PUC-Rio TBDS
BARRA DE FERRAMENTAS
DI Departamento de Informtica
IU
Laboratrio de Tecnologias de BD
ToolBar1
1 2 3 45 6 7 8 ToolButtons
IU Barras de Ferramentas
ToolButton6
* Quando ImageIndex = -1 nenhuma imagem ser exibida. PopupMenu1
DI-TecBD
Professores:
Lista de Imagens
20
PUC-Rio TBDS
PUC-Rio TBDS
IU
IU
Outra opo para a construo da Barra de Ferramentas usar o componente Panel, e sobre ele inserir botes do tipo BitButton com a com a propriedade Glyph
definindo imagens adequadas e com um LayOut definido em relao ao Caption.
* no ex.: 1 insere-se o BitBtn, 2- Seleciona-se bkCancel para a propriedade Kind 3- Altera-se a propriedade Caption para Fechar
DI-TecBD
A Barra de Ferramentas agiliza o uso do Sistema, mais rpido clicar nos botes
22
21
DI-TecBD
PUC-Rio TBDS
IU
PUC-Rio TBDS
IU
ToolBar (pgina Win 32). o componente usado para conter um conjunto de cones (imagens).
Inicialmente insere-se um ToolBar na aplicao.
Novo, para entrar com um registro que ainda no foi cadastrado. Alterar, para modificar um registro j cadastrado. Apagar, para eliminar um registro j cadastrado. Gravar, para gravar os dados do registro em edio. Cancelar, para suspender qualquer operao em andamento.
Exemplo 2
DI-TecBD
Atravs do Help de Contexto sobre o ToolBar adiciona-se os botes e separadores necessrios. Os separadores e botes so objetos denominados ToolButton1, ToolButton2, ...., ToolButtonN. Separadores so recomendados quando se quer agrupar botes que atendem melhor uma das funcionalidades da aplicao. Cada boto desta barra ser um componente individual, com seu prprio manipulador de eventos (evento click).
23
DI-TecBD
PUC-Rio TBDS
PUC-Rio TBDS
IU
IU
Seleciona-se a instncia do objeto ImageList no formulrio e adiciona-se as imagens desejadas para a aplicao atravs do ImageList Editor ... Algumas imagens de botes podem ser encontradas em Arquivos de Programas/Arquivos Comuns/Borland Shared/Images/Buttons porm voc pode tambm criar suas prprias imagens. As Imagens devem corresponder s operaes de sua aplicao, por ex.: "novo arquivo", "abrir arquivo", "salvar arquivo, etc.. Ao selecionar um boto como por exemplo o FileNew pode aparecer uma mensagem avisando que o tamanho do .bmp maior que as dimenses do imageList. Isto acontece quando o .bmp duplo, ou seja, metade uma imagem habilitada e a outra desabilitado. O Delphi perguntar se voc deseja separar a imagem. Aceite a sugesto e delete a segunda imagem, para os seis arquivos. Para adicionar uma imagem ao componente ImageList basta clicar duas vezes sobre ele e pressionar o boto Add... 25
PUC-Rio TBDS
Confirme se voc deseja separar a imagem. Delete uma das imagens. Para adicionar outra imagem ao componente ImageList pressionar o boto Add... e assim por diante...por ex.:
Apply
DI-TecBD
DI-TecBD
26
PUC-Rio TBDS
IU
IU
Cada ToolButton tem a propriedade ImageIndex que dever ser preenchida com o valor que indica a imagem do ImageList. O valor do primeiro ToolButton 0 (zero) e corresponde a primeira imagem do ImageList.
Se um ToolButton for do estilo tbsDivider, isto , um separador, ento no ser possvel que uma imagem seja associado a ele. Isto o delphi no resolve e neste caso, voc deve modificar os ndices para as imagens nos prximos botes.
27
DI-TecBD
28
PUC-Rio TBDS
PUC-Rio TBDS
IU
IU
StatusBar1
O form tem o evento OnTimer
StatusBar1.Panels[1].Text := TimeToStr(Time);
30
PUC-Rio TBDS
IU
Este form ser automaticamente inserido em seu projeto. Para remov-lo selecione Project/Remove form Project ...
DI-TecBD