Buscar

Delphi2 Professor Evandro César Freiberger

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Componentes Básicos do Delphi 
 
COMPONENTES BÁSICOS DE INTERFACE .............................................................................................. 2 
CONCEITO .......................................................................................................................................................... 2 
Algumas propriedades comuns aos componentes ......................................................................................... 2 
EVENTOS ............................................................................................................................................................ 3 
Eventos mais comuns dos Componentes ....................................................................................................... 3 
EXEMPLO - OLÁ ................................................................................................................................................. 4 
COMPONENTES BÁSICOS ............................................................................................................................. 5 
LABEL - LEGENDAS / RÓTULOS......................................................................................................................... 5 
EDIT - CAIXA DE EDIÇÃO ................................................................................................................................... 5 
BUTTON - BOTÕES DE COMANDO....................................................................................................................... 6 
BITBTN - BOTÕES DE COMANDO........................................................................................................................ 6 
SPEEDBOTTON - BOTÕES DE COMANDO............................................................................................................. 7 
Exemplo01-Manipulação de Label, Edit e Button ........................................................................................ 7 
Exemplo02 - Label, Edit e Button .............................................................................................................. 10 
Exemplo03 – Eventos e Foco de Componentes........................................................................................... 11 
CAIXA DE SELEÇÃO ( CHECKBOX)................................................................................................................... 14 
CAIXA DE SELEÇÃO ( RADIOBUTTON) ............................................................................................................. 14 
Exemplo 04 - CheckBox ............................................................................................................................. 15 
Exemplo 05 - RadioButton ......................................................................................................................... 17 
CLASSE TSTRIGS .............................................................................................................................................. 18 
LISTA DE SELEÇÃO ( LISTBOX) ........................................................................................................................ 18 
LISTA DE SELEÇÃO ( COMBOBOX) ................................................................................................................... 19 
Exemplo com ListBox .................................................................................................................................. 20 
Exemplo com ComboBox............................................................................................................................. 22 
BARRAS DE ROLAGEM (SCROLLBAR ).............................................................................................................. 24 
TIMER .............................................................................................................................................................. 24 
PROGRESSBAR ................................................................................................................................................. 24 
IMAGE .............................................................................................................................................................. 25 
Exemplo - SCrollBar e Image .................................................................................................................... 25 
Exemplo - ProgressBar, Animate e Timer.................................................................................................. 27 
EXERCÍCIOS COMPLEMENTARES .......................................................................................................... 29 
Exercício01 - Botões ................................................................................................................................... 29 
Exercício02 - Escolha de Fontes e Estilo.................................................................................................... 31 
Exercício03 - Muda Cor e Alinhamento...................................................................................................... 33 
Exercício04 – Eventos associados ao arrasto do mouse............................................................................. 35 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 2 
Componentes Básicos de Interface 
 
Conceito 
 
São objetos que possuem representações gráficas em tempo de projeto, disponibilizados no IDE 
para serem “colados” nos formulário durante a construção da interface. No Delphi existem dois tipos de 
componentes: visuais, que possuem representação gráfica em tempo de projeto e execução e não visuais, 
que possuem representação gráfica somente em tempo de projeto. O Delphi facilita a manipulação dos 
objetos através da interface de componentes, onde você pode facilmente inserir, alterar, excluir e 
manipular objetos da aplicação. Um formulário, por exemplo, é a representação visual de um objeto 
TFORM, bem como todos os objetos a ele associado. Cada componente possui duas partes básicas: 
propriedades e eventos. 
Propriedades: são as características dos componentes ( localização na tela, cor, título, etc). 
Algumas propriedades poderão ser alteradas em tempo de projeto ( Object Inspector ) e em tempo de 
execução ( manipulação no código fonte ), outras somente em tempo de execução. 
Algumas propriedades comuns aos componentes 
 
Propriedades Finalidade 
Align Determina como o componente é alinhado em relação ao componente que está 
vinculado. 
Caption Legenda do componente 
Color Determina a cor da superfície ou do fundo de um componente 
Ctr3D Determina se o controle tem aparência tridimensional 
Cursor Indica qual cursor será usado quando o ponteiro estiver sobre o controle 
DragCursor Cursor usado para indicar que o controle aceita ser arrastado 
DragMode Determina o comportamento do controle como componente inicial para uma 
operação de arrastar 
Enabled Determina se o controle está ativo ou inativo 
Font Determina a fonte usada para exibir textos dentro do componente 
Height Tamanho vertical do controle ( altura ) 
Hint É um string usada para exibir dicas para o componente quando o ponteiro do 
mouse é posicionado sobre ele 
Left Distância do canto esquerdo do componente à margem esquerda do formulário. 
Name É o nome do componente, deve ser único e será usado no código fonte 
Parent Ponteiro para o componente de origem ( pai ) 
ParentColor Determina se o componente deve usar a sua propriedade color ou a do 
componente pai 
ParentFont Determina se o componente deve usar a sua propriedade font ou a do componente 
pai 
ParentShowHi
nt 
Determina se o componente deve utilizar sua própria propriedade ShowHint ou a 
docomponente pai 
PopupMenu Indica o menu suspenso a ser chamado quando o usuário precionar o botão direito 
do mouse sobre o componente 
ShowHint Determina se as dicas vão ser mostradas 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 3 
Propriedades Finalidade 
TabOrder Determina a ordem de tabulação deste controle 
TabStop Determina se o usuário pode passar por ele usando a tecla Tab 
Tag É um longInteger que pode ser usado para armazenar qualquer valor 
Top Distância do topo do componente para o topo do formulário 
Visible Determina se o controle está visível ou não 
Width Tamanho horizontal do controle ( largura) 
 
Eventos 
 
 Os eventos são ações que o usuário ou uma parte da aplicação gera durante a execução da 
aplicação. Por exemplo quando um usuário pressiona uma tecla do teclado ou do mouse, ele estará 
disparando um evento. Outro exemplo é quando a aplicação exibe uma tela, ou foi programado um 
temporizador para de tempo em tempo executar uma ação. 
 
Eventos mais comuns dos Componentes 
 
 
Eventos Quando Ocorrem 
OnChange ocorre quando o objeto ou seu conteúdo muda 
OnClick Ocorre quando se dá um clique com o botão esquerdo do mouse sobre o 
componente 
OnDblClick ocorre quando o usuário dá um duplo clique com o botão esquerdo do mouse 
sobre o componente 
OnDragDrop ocorre quando uma operação de arrastar termina sobre o componente 
OnDragOver ocorre quando o usuário esta arrastando o mouse sobre o componente 
OnEndDrag ocorre quando a ação de arrastar é encerrada e enviada ao componente que 
iniciou a operação de arrastar 
OnEnter ocorre quando o componente é ativado, ou seja quando o componente entra em 
foco 
OnExit ocorre quando o componente perde o foco 
OnKeyDown ocorre quando o usuário pressiona uma tecla do teclado, sendo que essa tecla 
será enviada ao componente que detém o foco 
OnKeyPress ocorre quando o usuário pressiona uma tecla, que será enviada ao componente 
que detém o foco 
OnKeyUp ocorre quando o usuário solta uma tecla, sendo enviada ao componente que 
detém o foco 
OnMouseDow ocorre quando o usuário pressiona uma das teclas do mouse, sendo geralmente 
enviada ao componente sob o ponteiro do mouse 
OnMouseMove 
 
ocorre quando o usuário move o mouse sobre o componente 
OnMouseUp 
 
ocorre quando o usuário solta uma das teclas do mouse 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 4 
Eventos Quando Ocorrem 
OnStartDrag ocorre quando o usuário inicia o arrasto do mouse, sendo enviado ao 
componente que inicia a operação de arrasto 
 
Exemplo - Olá 
 
 
Definição de Objetos 
 
• Cole um componente Button no formulário 
• Mude a propriedade Name para BotaoOla 
• Mude a propriedade Caption para Diga Olá 
 
 
Código Fonte Associado 
 
• Selecione o componente BotaoOla. 
• Escolha a guia Events no Object Inspector 
• Selecione o evento OnClick. 
• Dê um duplo clique na caixa de valores desse evento. 
• Insira o código abaixo: 
 
procedure TForm_ola.BotaoOlaClick(Sender: TObject); 
begin 
 Showmessage('Olá, pessoal'); 
end; 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 5 
Componentes Básicos 
 Label - Legendas / Rótulos 
 
 É usado para exibir textos nos formulários, normalmente usados para identificar um elemento no 
formulário ( legenda ). Pode ser usado para exibir resultados obtidos em tempo de execução. 
 
Propriedades 
 
Caption => define o texto a ser apresentado. Pode ser altera em tempo de projeto e execução. 
 
AutoSize => [True / False] - determina se o label se ajustará automaticamente ou não ao tamanho do 
texto. 
 
WordWrap => [True / False] - se verdadeiro faz com que o label se expanda verticalmente quando o 
texto ultrapassar o limite do label. 
 
Alignment => controla o alinhamento do texto dentro do label ( esquerda, centralizado ou a direita). 
 
Font => configura as características da fonte do texto. 
 
Color => cor de fundo do Label (segundo plano). 
 
FocusControl => determina um componente que receberá o focu quando for usada a tecla de atalho 
inserida no caption 
 
Edit - Caixa de Edição 
 
 Usado para exibir e editar textos no formulário. Normalmente usada para editar pequenos textos, 
porém esse controle permite tratar milhares de caracteres. 
 
Propriedades 
 
Text => contém o texto digitado pelo usuário. 
 
BorderStyle => determina o tipo da borda da caixa de edição. 
 
MaxLength => número máximo de caracteres permitidos na digitação. 
 
CharCase => configura se os caracteres digitados serão transformados para minúsculos ou maiúsculos 
ou ainda se serão determinados pelo usuário. 
 
PassWordChar => configura um caracter para ser usado como máscara na digitação. 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 6 
Button - Botões de Comando 
 
 Usado para responder um clique do usuário e promover uma ação. 
 
Propriedades 
 
Caption => Determina a legenda do botão. Nessa propriedade poderá ser usada uma tecla de acesso, 
inserindo um caracter (&) antes da letra desejada. Dessa forma o usuário não precisa precionar o mouse 
e sim a combinação de tecla ALT+ a letra escolhida. 
 
Default => se True, define o botão como botão padrão do formulário, isto é, quando for pressionada a 
tecla Enter o botão será acionado. 
 
Cancel => se True, define o botão como botão de cancelamento do formulário, isto é, quando for 
pressionada a tecla Esc o botão será acionado. 
 
ModalResult => determina o valor de retorno de um formulário chamado quando o usuário pressionar 
o botão. 
 
BitBtn - Botões de Comando 
 
 Usado para responder um clique do usuário e promover uma ação, com a possibilidade de associar 
uma imagem como ícone do botão. 
 
Propriedades 
 
Caption => Determina a legenda do botão. Nessa propriedade poderá ser usada uma tecla de acesso, 
inserindo um caracter (&) antes da letra desejada. Dessa forma o usuário não precisa precionar o mouse e 
sim a combinação de tecla ALT+ a letra escolhida. 
 
Default => se True, define o botão como botão padrão do formulário, isto é, quando for pressionada a 
tecla Enter o botão será acionado. 
 
Cancel => se True, define o botão como botão de cancelamento do formulário, isto é, quando for 
pressionada a tecla Esc o botão será acionado. 
 
ModalResult => determina o valor de retorno de um formulário chamado quando o usuário pressionar o 
botão. 
 
Gryph => estabelece um arquivo BMP para ser exibido como ícone no botão 
 
Kind => estabelece uma imagem pré-definida para ser exibida como ícone no botão 
 
Layout => estabelece a posição que o ícone no botão será exibido no botão 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 7 
SpeedBotton - Botões de Comando 
 
 Usado para responder um clique do usuário e promover uma ação, com a possibilidade e associar 
uma imagem como ícone do botão, porém se difere dos outros, pois é um componente que não recebe 
foco. Bastante usado para criar barras de botões. 
 
Propriedades 
 
Caption => Determina a legenda do botão. Nessa propriedade poderá ser usada uma tecla de acesso, 
inserindo um caracter(&) antes da letra desejada. Dessa forma o usuário não precisa precionar o mouse 
e sim a combinação de tecla ALT+ a letra escolhida. 
 
Gryph => estabelece um arquivo BMP para ser exibido como ícone no botão. 
 
Layout => estabelece a posição que o ícone no botão será exibido no botão. 
 
GroupIndex => usado para formar grupos de botões que poderão ficar pressionados (Down) , podendo 
ser desmarcados por ele próprio ou por outro botão do mesmo grupo. Caso esteja com valor zero, não 
existirá nenhuma relação com outros botões. Porém se o seu valor é diferente de zero e igual a outros 
botões, então este botão pertencerá a um grupo de botões mutualmente exclusivos, semelhante a um 
radioButton. Caso esteja com valor diferente de zero porém diferente dos outros botões, terá 
comportamento semelhante a um checkbox. 
 
AllawAllUp => se verdadeiro permite que o botão se alto desmarque, quando está sendo usado 
GroupIndex diferente de zero. 
 
Flat => se verdadeiro o botão terá aparência plana e só terá bordas 3D quando o mouse passar pela sua 
superfície. 
 
Down => indica se o botão está pressionado (verdadeiro) ou está solto (falso). 
 
Exemplo01-Manipulação de Label, Edit e Button 
 
Exercício 01 - manipulação das propriedade e eventos básicos dos componentes Label, Edit e 
Button. O exercício é a implementação de um programa que lê dois números e mostra como resultado a 
soma dos dois valores e também compara-os mostrando o maior número ou uma mensagem que são 
iguais. 
 
 
 
 
Para implementar o programa siga os seguintes passos: 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 8 
1. Crie um novo projeto ( File New Application). 
2. Selecione o formulário e configure a propriedade Name para Form_Principal e Caption para 
“Exercício 01 - Label/Edit/Button”. 
3. Insira um componente Label e configure sua propriedade Caption para “Valor de (A)”. 
4. Insira outro Label e configure a propriedade Caption para “Valor de (B)”. 
5. Insira outro Label e configure a propriedade Caption para “Resultado da Soma”. 
6. Insira outro Label e configure a propriedade Caption para “Resultado da Comparação”. 
7. Insira um componente Edit e configure sua propriedade Name para ValorA e limpe o conteúdo da 
propriedade Text. 
8. Insira um componente Edit e configure sua propriedade Name para ValorB e limpe o conteúdo da 
propriedade Text. 
9. Insira um componente Label e configure sua propriedade Name para Somatoria, altere para false a 
propriedade AutoSize, limpe o conteúdo da propriedade Caption e mude a cor de fundo do Label, 
acessando a propriedade Color (clTeal). 
10. Insira um componente Label e configure sua propriedade Name para VlrComparacao, altere para 
false a propriedade AutoSize, limpe o conteúdo da propriedade Caption e mude a cor de fundo do 
Label, acessando a propriedade Color (clTeal). 
11. Insira um componente Button, mude sua propriedade name para BotaoSoma e configure sua 
propriedade Caption para “&Somar”. 
12. Insira um componente Button, mude sua propriedade name para BotaoCompara e configure sua 
propriedade Caption para “&Comparar”. 
13. Insira um componente Button, mude sua propriedade name para BotaoLimpa e configure sua 
propriedade Caption para “&Limpar”. 
14. Insira um componente Button, mude sua propriedade name para BotaoSai e configure sua 
propriedade Caption para “Sai&r”. 
 
Agora que já construímos nosso formulário temos que construir os procedimentos manipuladores dos 
eventos onClick dos botões, para isso faça: 
 
Botão Soma: 
 
1. Selecione o componente BotaoSomar no formulário, escolha a guia Events no Object Inspector. 
2. Selecione o evento onClick e em seguida dê um duplo clique na caixa de valores desse evento, com 
isso o Delphi cria um procedimento manipulador para esse evento. 
3. Escreva o código abaixo: 
 
 
procedure TForm_Principal.BotaoSomaClick(Sender: TObject); 
var 
 VA,VB,Soma : real; 
begin 
 VA := StrToFloat(valorA.text); 
 VB := StrToFloat(valorB.text); 
 Soma := VA + VB; 
 Somatoria.Caption := FloatToStr(soma); 
end; 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 9 
Botão Comparar: 
 
1. Selecione o componente BotaoCompara no formulário, escolha a guia Events no Object Inspector. 
2. Selecione o evento onClick e em seguida dê um duplo clique na caixa de valores desse evento, com 
isso o Delphi cria um procedimento manipulador para esse evento. 
3. Escreva o código abaixo: 
 
procedure TForm_Principal.BotaoComparaClick(Sender: TObject); 
var 
 VA,VB,Soma : real; 
begin 
 VA := StrToFloat(valorA.text); 
 VB := StrToFloat(valorB.text); 
 if VA > VB then 
 Comparacao.Caption := valorA.Text 
 else 
 if VB > VA then 
 Comparacao.Caption := valorB.Text 
 else 
 Comparacao.Caption := 'iguais'; 
 
end; 
 
 
Botão Limpar: 
 
1. Selecione o componente BotaoLimpa no formulário, escolha a guia Events no Object Inspector. 
2. Selecione o evento onClick e em seguida dê um duplo clique na caixa de valores desse evento, com 
isso o Delphi cria um procedimento manipulador para esse evento. 
3. Escreva o código abaixo: 
 
procedure TForm_Principal.BotaoLimpaClick(Sender: TObject); 
begin 
 ValorA.Clear; 
 ValorB.Clear; 
 Somatoria.Caption := '' ; 
 Comparacao.Caption := '' ; 
 ValorA.SetFocus; 
end; 
 
Botão Sair: 
 
1. Selecione o componente BotaoSai no formulário, escolha a guia Events no Object Inspector. 
2. Selecione o evento onClick e em seguida dê um duplo clique na caixa de valores desse evento, com 
isso o Delphi cria um procedimento manipulador para esse evento. 
3. Escreva o código abaixo: 
 
procedure TForm_Principal.BotaoSairClick(Sender: TObject); 
begin 
 close; 
end; 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 10 
Exemplo02 - Label, Edit e Button 
 
Exercício 02 - manipulação das propriedade e eventos básicos dos componentes Label, Edit e 
Button. O exercício é a implementação de um programa que lê o preço de compra, o valor de custo e o 
percentual de margem de lucro de um produto, em seguida o programa calculará o preço de venda desse 
produto através da soma do preço de compra com o valor de custo e multiplicando pelo percentual de 
margem de lucro. 
 
 
 
Para implementar o programa siga os seguintes passos: 
 
1. Crie um novo projeto ( File New Application). 
2. Selecione o formulário e configure a propriedade Name para Form_Principal e Caption para 
“Exercício 02 - Label/Edit/Button”. 
3. Insira um componente Label e configure sua propriedade Caption para “Preço de Compra”. 
4. Insira outro Label e configure a propriedade Caption para “Preço de Custo”. 
5. Insira outro Label e configure a propriedade Caption para “% de Margem de Lucro”. 
6. Insira outro Label e configure a propriedade Caption para “Preço de Venda”. 
7. Insira um componente Edit e configure sua propriedade Name para VCompra e limpe o conteúdo da 
propriedade Text. 
8. Insira um componente Edit e configure sua propriedade Name para VCusto e limpe o conteúdo da 
propriedade Text. 
9. Insira um componente Edit e configure sua propriedade Name para PMargem e limpe o conteúdo da 
propriedade Text. 
10. Insira um componente Label e configure sua propriedade Name para Vvenda, altere para false a 
propriedade AutoSize, limpe o conteúdo da propriedade Caption e mude a cor de fundodo Label, 
acessando a propriedade Color (clTeal). 
11. Insira um componente Button, mude sua propriedade name para BotaoCalcula e configure sua 
propriedade Caption para “&Calcular”. 
12. Insira um componente Button, mude sua propriedade name para BotaoLimpa e configure sua 
propriedade Caption para “&Limpar”. 
13. Insira um componente Button, mude sua propriedade name para BotaoSai e configure sua 
propriedade Caption para “Sai&r”. 
 
Agora que já construímos nosso formulário temos que construir os procedimentos manipuladores dos 
eventos onClick dos botões, para isso faça: 
 
Botão Calcular: 
 
1. Selecione o componente BotaoCalcula no formulário, escolha a guia Events no Object Inspector. 
2. Selecione o evento onClick e em seguida dê um duplo clique na caixa de valores desse evento, com 
isso o Delphi cria um procedimento manipulador para esse evento. 
3. Escreva o código abaixo: 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 11 
procedure TForm_Principal.BotaoCalculaClick(Sender: TObject); 
var 
 Venda, Custo, Margem, Total : real; 
begin 
 Venda := StrToFloat(VCompra.text); 
 Custo := StrToFloat(VCusto.text); 
 Margem := StrToFloat(PMargem.text)/100 + 1; 
 Total := (Venda + Custo) * Margem; 
 Vvenda.Caption := formatfloat('###,##0.00',Total); 
end; 
 
 
Botão Limpar: 
 
1. Selecione o componente BotaoLimpa no formulário, escolha a guia Events no Object Inspector. 
2. Selecione o evento onClick e em seguida dê um duplo clique na caixa de valores desse evento, com 
isso o Delphi cria um procedimento manipulador para esse evento. 
3. Escreva o código abaixo: 
 
 
procedure TForm_Principal.BotaoLimpaClick(Sender: TObject); 
begin 
 VCompra.Clear; 
 VCusto.Clear; 
 PMargem.Clear; 
 Vvenda.Caption := '' ; 
 VCompra.SetFocus; 
end; 
 
Exemplo03 – Eventos e Foco de Componentes 
 
 
 
 
 
Definição dos Objetos 
 
• Crie uma nova aplicação, mude o título do formulário para Foco e configure a propriedade 
name para FormFoco 
• Salve a Unit com o nome de Unit_Foco e o projeto como Projeto_Foco. 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 12 
• Insira três componentes Edit com as seguintes características: 
 
Name PassWordChar Text 
EditNome #0 
EditSobrenome #0 
EditSenha * 
 
• Insira três componentes Label com as seguintes características: 
 
Name Caption FocusControl 
Label1 &Nome EditNome 
Label2 &Sobrenome EditSobrenome 
Label3 S&enha EditSenha 
 
• Insira dois componentes BitBtn com as seguintes características: 
 
Name Caption Glyph Layout 
BotaoGravar &Gravar Floppy blGlyphTop 
BotaoSair &Sair DoorOpen blGlyphTop 
 
Roteiro para Inserir imagem no Botão (BitBtn) 
 
1. Localizar a propriedade Glyph do botão 
2. Pressione o botão com a reticência 
3. Na tela Picture Editor pressione o botão Load 
4. Localizar a pasta no caminho: C:\Arquivos de programas\Arquivos 
comuns\Borland Shared\Images\Buttons 
5. Localize o arquivo DoorOpen e pressione o botão Abrir 
6. Novamente na tela Picture Editor pressione o botão OK 
 
• Insira um componente StatusBar (guia Win32) configure sua propriedade name para 
rodape e SimplePanel para True. 
 
 
Código Fonte Associado 
 
Na cláusula Implementation declarar uma constante conforme exemplo abaixo: 
 
Implementation 
 
 Const 
 MasterSenha = ‘010101’; 
 
 
procedure TFormFoco.BotaoGravarClick(Sender: TObject); 
begin 
 if EditSenha.Text <> MasterSenha then 
 begin 
 showmessage('Senha inválida'); 
 EditSenha.SetFocus; 
 end 
 Else 
 showmessage('Senha Válida'); 
end; 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 13 
 
procedure TFormFoco.NomeEditEnter(Sender: TObject); 
begin 
 Rodape.SimpleText := 'Digitando o nome...'; 
end; 
 
procedure TFormFoco.NomeEditExit(Sender: TObject); 
begin 
 Rodape.SimpleText := ''; 
end; 
 
procedure TFormFoco.SobrenomeEditEnter(Sender: TObject); 
begin 
 Rodape.SimpleText := 'Digitando o sobrenome...'; 
end; 
 
procedure TFormFoco.SobrenomeEditExit(Sender: TObject); 
begin 
 Rodape.SimpleText := ''; 
end; 
 
procedure TFormFoco.SenhaEditEnter(Sender: TObject); 
begin 
 Rodape.SimpleText := 'Digitando a senha...'; 
end; 
 
procedure TFormFoco.SenhaEditExit(Sender: TObject); 
begin 
 Rodape.SimpleText := ''; 
end; 
 
procedure TFormFoco.BotaoSairClick(Sender: TObject); 
begin 
 close; 
end; 
 
 
 
 
 
 
 
 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 14 
Caixa de Seleção ( CheckBox) 
 
 Esse componente será usado quando se deseja obter respostas Sim/Não, porém permite que 
dentre um conjunto de checkBox vários possam estar assinalados ao mesmo tempo. 
 
Propriedades 
 
Caption => Texto legenda da opção 
 
Checked => Se True a caixa esta assinalada, se False não assinalado 
 
AllowGrayed => Se True a caixa terá três estados, se False dois estados 
 
State => (cbUnchecked, cbChecked, cbGrayed) assinalado, não assinalado e assinalado 
acinzentado. 
 
 
Caixa de Seleção ( RadioButton) 
 
 Esse componente será usado quando se deseja obter respostas Sim/Não, porém só permite 
que, dentre um conjunto de RadioButton, apenas um pode estar assinalado. Esse componente é dito 
mutuamente exclusivo. 
 
Propriedades 
 
Caption => Texto legenda da opção. 
 
Checked => Se True a caixa esta assinalada, se False não assinalado. 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 15 
Exemplo 04 - CheckBox 
 
Manipulação das propriedade e eventos básicos dos componentes Label, TextBox, Button e 
CheckBox. O exercício é a implementação de um programa que lê o nome do funcionário e o salário 
base. Com esse valor e configurações a cerca dos descontos que incidem no rendimento, o programa irá 
mostrar o salário líquido do funcionário. 
 
 
 
Para implementar o programa siga os seguintes passos: 
 
 
1. Crie um novo projeto ( File New Application). 
2. Selecione o formulário e configure a propriedade Name para Form_Principal e 
Caption para “Exercício 03 - CheckBox”. 
3. Insira um componente Label e configure sua propriedade Caption para “Nome do 
Funcionário”. 
4. Insira outro Label e configure a propriedade Caption para “Salário Base”. 
5. Insira outro Label e configure a propriedade Caption para “Salário Líquido”. 
6. Insira um componente Edit e configure sua propriedade Name para NomeFuncionario 
e limpe o conteúdo da propriedade Text. 
7. Insira um componente Edit e configure sua propriedade Name para SalarioBase e 
limpe o conteúdo da propriedade Text. 
8. Insira um componente Label e configure sua propriedade Name para SalarioLiquido, 
limpe o conteúdo da propriedade Caption, Autosize para False e mude a cor de fundo 
do Label. 
9. Insira um componente GroupBox e configure sua propriedade Caption para 
“Descontos”. 
10. Dentro do componente GroupBox insira um componente CheckBox e configure sua 
propriedade Name para Dsaude e Caption para “Convênio Saúde ( 30,00 )”. 
11. Dentro do componente GroupBox insira um componenteCheckBox e configure sua 
propriedade Name para DAssociacao e Caption para “Associação ( 1,00 %)”. 
12. Dentro do componente GroupBox insira um componente CheckBox e configure sua 
propriedade Name para DSindicato e Caption para “Sindicato ( 1,50 % )”. 
13. Insira um componente Button, configure sua propriedade Caption para “&Calcular” e 
Name para BotaoCalcular. 
14. Insira um componente CommandButton, configure sua propriedade Caption para 
“&Limpar” e Name para BotaoLimpar. 
15. Insira um componente CommandButton, configure sua propriedade Caption para 
“&Sair” e Name para BotaoSair. 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 16 
Agora que já construímos nosso formulário temos que construir os procedimentos manipuladores dos 
eventos Click dos botões, para isso faça: 
 
Botão Calcular: 
 
procedure TForm_Principal.BotaoCalcularClick(Sender: TObject); 
var 
 salario,desconto : real; 
begin 
 salario := strToFloat(SalarioBase.Text); 
 If DSaude.checked Then 
 desconto := 30; 
 If DAssociacao.Checked Then 
 desconto := desconto + (salario * 1 / 100); 
 If DSindicato.Checked Then 
 desconto := desconto + (salario * 1.5 / 100); 
 salario := salario - desconto; 
 SalarioLiquido.Caption := FloatToStr(salario); 
end; 
 
Botão Limpar: 
 
procedure TForm_Principal.BotaoLimparClick(Sender: TObject); 
begin 
 NomeFuncionario.Clear; 
 SalarioBase.Clear; 
 DSaude.Checked := false; 
 DAssociacao.Checked := false; 
 DSindicato.Checked := false; 
 SalarioLiquido.Caption := ''; 
 NomeFuncionario.SetFocus; 
end; 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 17 
Exemplo 05 - RadioButton 
 
 
 
Código Fonte Associado 
 
procedure TForm1.BotaoCalcularClick(Sender: TObject); 
var 
 Total : real; 
begin 
 if OpAdicao.Checked then 
 Total := strToFloat(Termo1.text)+strToFloat(Termo2.text) 
 else 
 if OpSubtracao.Checked then 
 Total := strToFloat(Termo1.text)-strToFloat(Termo2.text) 
 else 
 if OpMultiplicacao.Checked then 
 Total := strToFloat(Termo1.text)*strToFloat(Termo2.text) 
 else 
 if OpDivisao.Checked then 
 Total := strToFloat(Termo1.text)/strToFloat(Termo2.text); 
 
 Resultado.Caption := FormatFloat('###,##0.00',total); 
 
end; 
 
procedure TForm1.BotaoLimparClick(Sender: TObject); 
begin 
 Termo1.Clear; 
 Termo2.Clear; 
 Resultado.Caption := ''; 
 OpAdicao.Checked := true; 
end; 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 18 
Classe TStrigs 
 
É uma classe do Delphi que dá suporte ao gerenciamento de uma lista de Strings. Vários 
componentes do Delphi usam essa classe como atributo para gerenciar uma lista de elementos do tipo 
cadeia de caracter. Abaixo serão descritas as principais propriedades e métodos dessa classe. 
 
 
Propriedades 
 
Strings => Vetor de string, começando pelo índice zero, ou seja, a primeira string é acessada 
pela sintaxe: lista.strings[0]. 
 
Count => número de elementos da lista. 
 
Métodos 
 
Add => Adiciona uma string no final da lista. Ex: Lista.Add(‘teste’). Esse método retorna o 
índice que tal elemento foi inserido. 
 
Insert =>Inseri uma string na posição especificada da lista. Ex: Lista.Insert(2,‘testando’). 
 
Clear => remove todos os elementos da lista. 
 
Delete => remove um elemento da lista. Ex: Lista.delete(2). 
 
IndexOf => retorna o índice que uma determinada string ocupa na lista. Caso não encontre 
devolverá –1. Ex: Lista.IndexOf(‘teste’) => 0. 
 
Lista de Seleção ( ListBox) 
 
 Esse componente será usado quando se deseja escolher um ou mais elementos em uma 
lista. Os elementos dessa lista podem ser configurados em tempo de projeto ou de forma dinâmica em 
tempo de execução. 
 
Propriedades 
 
Columns => Determina quantas colunas serão usadas para exibir os elementos da lista. Com o 
valor zero exibe os elementos em uma colunas com barra de rolagem vertical, valores maiores 
que zero exibe os elementos na quantidade de colunas especificadas e com barra de rolagem 
horizontal. 
 
Items => É do tipo Tstrings e contém a lista de strings (elementos) do listBox. 
 
ItemIndex => Determina o índice do elemento selecionado, quando não houver elemento 
selecionado seu valor será –1. 
 
MultiSelect => Se verdadeiro, permite a seleção de mais de um elemento simultaneamente. 
Deverá ser usado em conjunto com a propriedade Selected. 
 
Selected => Usada para verificar quais elementos estão selecionados, quando a opção 
multiSelect for verdadeira. 
 
SelCount => Determina o número de elementos que estão selecionados, quando a opção 
MultiSelect for verdadeira. 
 
Sorted => Se verdadeiro, organizará os elementos em ordem crescente. 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 19 
 
Style => 
 
LbStandard – todos os itens são strings de altura definida pela fonte. 
LbOwnerDrawFixed – altura dos itens definida pela propriedade ItemHeight. 
LbOwnerDrawVariable – pode ter alturas independentes controladas pelo evento 
OnDrawItem. 
 
Lista de Seleção ( ComboBox) 
 
 Esse componente será usado quando se deseja escolher um elemento em uma lista ou 
digita-lo. Os elementos dessa lista podem ser configurados em tempo de projeto ou de forma dinâmica 
em tempo de execução. Normalmente usado quando não há muito espaço na interface ou são várias listas 
no mesmo formulário. 
 
Propriedades 
 
Items => É do tipo Tstrings e contém a lista de strings (elementos) do listBox. 
 
ItemIndex => Determina o índice do elemento selecionado, quando não houver elemento 
selecionado seu valor será –1. 
 
Sorted => Se verdadeiro, organizará os elementos em ordem crescente. 
 
Text => Texto digitado ou selecionado na lista. 
 
Style => determina as formas de comportamento e exposição da lista. Veja abaixo as opções: 
 
csdropDown => Lista e caixa combinada de edição. Todos os itens são strings da 
mesma altura. 
CsDropDownList => Somente lista. Todos os itens são strings da mesma altura. 
 
CsOwnerDrawFixed => Lista e caixa combinada de edição, podendo ser 
configurado a altura dos itens através da propriedade ItemHeigth. 
 
CsOwnerDrawVariable => Lista e caixa combinada de edição, podendo ser 
configurado a altura individual de cada item através do tratamento do evento OnDraw 
Item. 
 
CsSimple => Somente uma lista para escolha, onde a altura da lista visualizada é 
determinada pela altura do comboBox. 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 20 
Exemplo com ListBox 
 
Desenvolver a interface abaixo: 
 
 
Componentes: 
 
Label1 : Tlabel 
 Caption = Origem 
 Label2: Tlabel 
 Caption = Destino 
 
 
 
Origem : TlistBox 
 Font: negrito, tamanho 14 
 Style: lbOwnerDrawFixed 
 ItemHeight = 30 
 Items = 
 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 21 
Destino : TlistBox 
 Font: tamanho 10 
 Style: lbStandard 
 Items = vazio!! 
 
PassaUm : TspeedButton 
 Caption = >PassaTodos : TspeedButton 
 Caption = >> 
 
TipoSelecao : TradioGroup 
 Caption = Tipo Seleção 
 Items = Simples 
 Múltipla 
 ItemIndex = 0 
 
LimpaDestino : TbitBtn 
 Caption = &Limpa Destino 
Gryph = C:\Arquivos de programas\Arquivos comuns\Borland Shared\Images\Buttons\clear 
 
 
Código fonte associado 
 
procedure TForm1.TipoSelecaoClick(Sender: TObject); 
begin 
 if tipoSelecao.ItemIndex = 0 then 
 origem.MultiSelect := false 
 else 
 origem.MultiSelect := true; 
end; 
 
procedure TForm1.PassaUmClick(Sender: TObject); 
var 
 x:word; 
begin 
 if not origem.MultiSelect then 
 begin 
 if origem.ItemIndex >= 0 then 
 destino.Items.Add (origem.items[origem.itemIndex]) 
 else 
 showmessage('Nenhum elemento foi selecionado'); 
 end 
 else 
 begin 
 for x := 0 to origem.Items.Count - 1 do 
 begin 
 if origem.Selected[x] then 
 destino.Items.Add (origem.items[x]); 
 end; 
 end; 
end; 
 
 
procedure TForm1.LimpaDestinoClick(Sender: TObject); 
begin 
 destino.Items.Clear; 
end; 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 22 
 
procedure TForm1.PassaTodosClick(Sender: TObject); 
begin 
 destino.Items := origem.Items ; 
end; 
 
 
Exemplo com ComboBox 
 
Desenvolver a interface abaixo: 
 
 
Componentes: 
 
Label1 : Tlabel 
 Caption = Fontes 
 Label2: Tlabel 
 Caption = Tamanho 
 
 
 
Fonte : TComboBox 
 Style: csDropDownList 
 Items = vazio!! 
 Sorted = True 
 
Tamanho : TComboBox 
 Style: csDropDown 
 Items = 8, 9,10,12,14,18,22,26 
 
Texto : Tlabel 
 Caption = Texto exemplo de Manipulação de Fonte 
Alignment = taCenter 
AutoSize = False 
Color = clTeal 
 
CarregaFontes : TbitBtn 
 Caption = Carrega &Fontes 
Gryph = C:\Arquivos de programas\Arquivos comuns\Borland Shared\Images\Buttons\font 
 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 23 
Código fonte associado 
 
procedure TFormExecCombo.CarregaFontesClick(Sender: TObject); 
var 
 x:word; 
begin 
 fonte.Items.Clear; 
 for x := 0 to screen.Fonts.Count - 1 do 
 fonte.Items.Add(screen.Fonts.Strings[x]); 
 
 if fonte.Items.Count >= 0 then 
 begin 
 fonte.ItemIndex := 0; 
 texto.Font.Name := fonte.Items[ fonte.itemindex ]; 
 texto.Font.Size := StrToIntDef(tamanho.text,8); 
 end; 
 
 tamanho.ItemIndex := 0; 
end; 
 
procedure TFormExecCombo.FonteClick(Sender: TObject); 
begin 
 if fonte.ItemIndex >= 0 then 
 texto.Font.Name := fonte.Items[ fonte.itemindex ]; 
end; 
 
procedure TFormExecCombo.tamanhoClick(Sender: TObject); 
begin 
 texto.Font.Size := StrToIntDef(tamanho.text,8); 
end; 
 
procedure TFormExecCombo.tamanhoKeyDown(Sender: TObject; var Key: Word; 
 Shift: TShiftState); 
begin 
 if key = 13 then 
 tamanhoClick(nil); 
end; 
 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 24 
Barras de Rolagem (ScrollBar ) 
 
É um controle ao qual o usuário pode através de uma representação gráfica escolher um 
posicionamento entre um intervalo definido. O controle devolve um valor entre um mínimo e um máximo 
estipulado (guia Standard. 
 
Propriedades 
 
Kind => define se a barra de rolagem será horizontal ou vertical. 
Position => serve para definir uma posição ou obter a posição atual do controle. 
Min => determina o menor valor que poderá assumir. 
 
Max => maior valor que poderá assumir. 
 
SmallChage => controla qual o valor que será acrescentado ou decrementado da propriedade 
Position quando o usuário pressionar uma das setas da barra. 
 
LargeChage => é o valor acrescentado ou decrementado da propriedade Position, caso o 
usuário dê um clique entre a seta e o botão de posicionamento. 
 
 
Timer 
 
É um controle que dispara um evento a cada intervalo de tempo configurável (guia System). 
 
Propriedades 
 
Interval => é um valor em milessegundos, que servirá para estipular o intervalo de tempo a 
cada execução do procedimento associado. 
 
Enabled => se True, habilita o Timer e ele executará o código do evento Timer no intervalo 
de tempo estipulado, se False o controle fica desabilitado. 
 
ProgressBar 
 
É um controle que possui uma representação gráfica de um posicionamento entre um intervalo 
estipulado. 
 
Propriedades 
 
Position => serve para definir ou obter a posição atual do controle. 
Min => determina o menor valor que poderá assumir. 
Max => maior valor que poderá assumir. 
Step => de quantas em quantas posições o controle será atualizado . 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 25 
Image 
 
É um controle que possibilita a exibição de imagem no formato BMP. 
 
Propriedades 
 
Pricture => imagem BMP a ser exibida. 
 
Center => se true centralizará a imagem dentro do espaço delimitado pelo componente. 
 
Stretch => dimensiona a imagem conforme o tamanho delimitado pelo componente. 
 
 
Exemplo - SCrollBar e Image 
 
Manipulação das propriedade e eventos básicos dos componentes SCrollBar, e Image. 
 
 
 
Para implementar o programa siga os seguintes passos: 
 
• Crie um novo projeto ( File New Application). 
• Selecione o formulário e configure a propriedade Name para Form_Principal e Caption para 
“Exercício - SCrollBar, e Image”. 
• Configure as propriedade abaixo do formulário com os seus respectivos valores: 
 
Propriedade Valor 
Width 480 
Height 430 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 26 
Insira um componente ScrollBar e configure suas propriedades: 
 
Propriedade Valor 
Kind sbHorizontal 
Name Horizontal 
Left 55 
Top 358 
Height 25 
Width 400 
Max 400 
Min 100 
SmallChange 10 
LargeChange 50 
 
Insira um componente ScrollBar e configure suas propriedades: 
 
Propriedade Valor 
Kind SbVertical 
Name Vertical 
Left 30 
Top 20 
Height 355 
Width 22 
Max 170 
Min 20 
SmallChange 5 
LargeChange 20 
 
 
Insira um componente Image e configure suas propriedades: 
 
Propriedade Valor 
Name Imagem 
Left 60 
Top 20 
Height 165 
Width 160 
Picture C:\Arquivos de programas\Arquivos comuns\Borland Shared 
\Images\Splash\16 color \Athena.BMP 
 
 
Código Fonte Associado: 
 
procedure TForm1.HorizontalChange(Sender: TObject); 
begin 
 imagem.Left := Horizontal.Position; 
end; 
 
 
procedure TForm1.VerticalChange(Sender: TObject); 
begin 
 imagem.Top := Vertical.Position; 
end; 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 27 
Exemplo - ProgressBar, Animate e Timer 
 
Manipulação das propriedade e eventos básicos dos componentes ProgressBar, Animate e Timer. 
 
 
 
Para implementar o programa siga os seguintes passos: 
 
• Crie um novo projeto ( File New Application). 
• Selecione o formulário e configure a propriedade Name para Form_Principal e Caption para 
“Exercício - ProgressBar,Animate e Timer”. 
• Insira dois componentes BitBtn e configure conforme figura acima. 
• Insira um componente ProgressBar (win32) e configure suas propriedades: 
 
 
Propriedade Valor 
Max 20 
Min 0 
Step 1 
 
• Insira um componente Animate (Win32) e configure suas propriedades: 
 
Propriedade Valor 
CommonAVI aviCopyFiles 
 
• Insira um componente Animate (Win32) e configure suas propriedades: 
 
Propriedade Valor 
CommonAVI aviEmptyRecycle 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 28 
• Insira um componente Timer e configure suas propriedades: 
 
Propriedade Valor 
Interval 300 
 
 
Código Fonte Associado: 
 
procedure TForm_Principal.Timer1Timer(Sender: TObject); 
begin 
 progressbar1.Position := progressbar1.Position + 1; 
 if progressbar1.Position = progressbar1.max then 
 progressbar1.Position := 0; 
end; 
 
procedure TForm_Principal.BotaoInicioClick(Sender: TObject); 
begin 
 timer1.Enabled := true; 
 animate1.active := true; 
 animate2.active := true; 
end; 
 
 
procedure TForm_Principal.BotaoFimClick(Sender: TObject); 
begin 
 timer1.Enabled := false; 
 animate1.active := false; 
 animate2.active := false; 
end; 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 29 
Exercícios Complementares 
Exercício01 - Botões 
 
 
 
 
Definição de Objetos 
 
• Crie uma nova aplicação (File New Application). 
• Mude a propriedade Name do formulário para Form_Botoes 
• Configure a propriedade Caption para ‘Botões’ 
• Salvar a Unit como Unit_Botoes e projeto com Projeto_Botoes 
 
• Insira seis componentes do tipo Button com as seguintes características: 
 
 
Name Caption 
Botao1 &1: Desabilita Botao4 
Botao2 &2: Copia Fonte p/ Botao1 
Botao3 &3: Aumenta Botao6 
Botao4 &4: Restaura Fonte do Botao1 
Botao5 &5: Oculta o Botao2 
Botao6 &6: Reduz o Tamanho 
 
• Configure a propriedade fonte do Botao2 em Arial, tamanho 10 e em negrito 
 
 
Código Fonte Associado 
 
procedure TFormBotoes.Botao2Click(Sender: TObject); 
begin 
 Botao1.Font := Botao2.Font; 
 Botao2.Enabled := False; 
end; 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 30 
procedure TFormBotoes.Botao4Click(Sender: TObject); 
begin 
 Botao1.ParentFont := True; 
 Botao2.Enabled := True; 
end; 
 
procedure TFormBotoes.Botao3Click(Sender: TObject); 
begin 
 Botao6.Height := Botao6.Height + 3; 
 Botao6.Width := Botao6.Width + 3; 
end; 
 
procedure TFormBotoes.Botao1Click(Sender: TObject); 
begin 
 if not Botao4.Enabled then 
 begin 
 Botao4.Enabled := True; 
 Botao1.Caption := '&1: Desabilita Botao4'; 
 end 
 else 
 begin 
 Botao4.Enabled := False; 
 Botao1.Caption := '&1: Habilita Botao4'; 
 end; 
end; 
 
procedure TFormBotoes.Botao5Click(Sender: TObject); 
begin 
 Botao2.Visible := not Botao2.Visible; 
 if Botao2.Visible then 
 Botao5.Caption := '&5: Oculta Botao2' 
 else 
 Botao5.Caption := '&5: Exibe Botao2'; 
end; 
 
procedure TFormBotoes.Botao6Click(Sender: TObject); 
begin 
 Botao6.Height := Botao6.Height - 3; 
 Botao6.Width := Botao6.Width - 3; 
end; 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 31 
Exercício02 - Escolha de Fontes e Estilo 
 
 
 
 
Definição dos Objetos 
 
• Crie uma nova aplicação, mude o título do formulário para Escolha de Fonte e Estilo e configure a 
propriedade name para Form_Escolha. 
• Salve a Unit com o nome de Unit_Escolha e o projeto como Projeto_Escolha. 
• Cole dois componentes GroupBox no formulário e configure a propriedade Caption para Estilos e 
Fontes respectivamente. 
• No interior do GroupBox Estilos cole três componentes CheckBox com as seguintes 
características: 
 
Name Caption Fonte.Style 
CheckNegrito Negrito fsBold 
CheckItálico Itálico fsItalic 
CheckSublinado Sublinhado fsUnderline 
 
No interior do GroupBox Fontes cole três componentes RadioButton com as seguintes 
características: 
 
Name Caption Fonte.Name Checked 
RadioTimes Times New Roman Times New Roman True 
RadioArial Arial Arial False 
RadioCourier Courier Courier New False 
 
Cole um componente Memo abaixo dos GroupBox e mude seu nome para Texto. Na 
propriedade Lines clique no botão de reticências e digite o texto conforme figura acima. 
Configure sua propriedade Font para Times New Roman (normal), tamanho 12. 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 32 
Código Fonte Associado 
 
procedure TForm_Escolha.CheckNegritoClick(Sender: TObject); 
begin 
 if CheckNegrito.Checked then 
 Texto.Font.Style := Texto.Font.Style + [fsBold] 
 else 
 Texto.Font.Style := Texto.Font.Style - [fsBold]; 
end; 
 
procedure TForm_Escolha.CheckItalicoClick(Sender: TObject); 
begin 
 if CheckItalico.Checked then 
 Texto.Font.Style := Texto.Font.Style + [fsItalic] 
 else 
 Texto.Font.Style := Texto.Font.Style - [fsItalic]; 
end; 
 
procedure TForm_Escolha.CheckSublinhadoClick(Sender: TObject); 
begin 
 if CheckSublinhado.Checked then 
 Texto.Font.Style := Texto.Font.Style + [fsUnderline] 
 else 
 Texto.Font.Style := Texto.Font.Style - [fsUnderline]; 
end; 
 
 
procedure TForm_Escolha.RadioTimesClick(Sender: TObject); 
begin 
 Texto.Font.Name := 'Times New Roman'; 
end; 
 
procedure TForm_Escolha.RadioArialClick(Sender: TObject); 
begin 
 Texto.Font.Name := 'Arial'; 
end; 
 
 
procedure TForm_Escolha.RadioCourierClick(Sender: TObject); 
begin 
 Texto.Font.Name := 'Courier'; 
end; 
 
end. 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 33 
Exercício03 - Muda Cor e Alinhamento 
 
 
 
 
Definição dos Objetos 
 
• Crie uma nova aplicação, mude o título do formulário para Muda a cor e alinhamento e 
configure a propriedade name para FormCorAlinhamento. 
• Salve a Unit com o nome de Unit_CorAlinhamento e o projeto como 
Projeto_CorAlinhamento. 
 
• Insira um componente Label no formulário e configure as propriedades abaixo com os 
respectivos valores: 
 
Propriedade Conteúdo 
Caption Pressione os botões abaixo para mudar a cor 
do texto, o fundo deste Label ou o seu 
alinhamento 
Alignment taCenter 
AutoSize False 
Color clYellow 
Font Name - Arial 
Size - 30 
color - clNavy - Azul Marinho 
WordWrap True 
Name Texto 
 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 34 
Insira cinco componentes Button com as seguintes características: 
 
Name Caption 
BotaoCorFonte Cor de F&onte 
BotaoCorFundo Cor de F&undo 
BotaoEsquerda &Esquerda 
BotaoCentro &Centro 
BotaoDireita &Direita 
 
Insira um componente ColorDialog (guia Dialog) e configure sua propriedade Name para 
EscolheCor. 
 
 
Código Fonte Associado 
 
procedure TFormCorAlinhamento.BotaoCorFonteClick(Sender: TObject); 
begin 
 EscolheCor.Color := Texto.Font.Color;EscolheCor.Execute; 
 Texto.Font.Color := EscolheCor.Color; 
end; 
 
procedure TFormCorAlinhamento.BotaoCorFundoClick(Sender: TObject); 
begin 
 EscolheCor.Color := Texto.Color; 
 EscolheCor.Execute; 
 Texto.Color := EscolheCor.Color; 
end; 
 
procedure TFormCorAlinhamento.BotaoEsquerdaClick(Sender: TObject); 
begin 
 Texto.Alignment := taLeftJustify; 
end; 
 
procedure TFormCorAlinhamento.BotaoCentroClick(Sender: TObject); 
begin 
 Texto.Alignment := taCenter; 
end; 
 
procedure TFormCorAlinhamento.BotaoDireitaClick(Sender: TObject); 
begin 
 Texto.Alignment := taRightJustify; 
end; 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 35 
Exercício04 – Eventos associados ao arrasto do mouse 
 
 
 
Definição de Objetos 
 
• Crie uma nova aplicação, mude o título do formulário para Arrastar e Soltar e configure a 
propriedade name para FormArrastarSoltar 
• Salve a Unit com o nome de Unit_ArrastarSoltar e o projeto como Projeto_Arrasto. 
• Insira quatro componente Label no formulário e configure as propriedades abaixo com os 
respectivos valores: 
 
Name Caption Color 
LabelVermelho Vermelho clRed 
LabelAzul Azul clBlue 
LabelVerde Verde clGreen 
LabelAmarelo Amarelo clYellow 
 
 Font.Size = 12 
 Font.Style = fsBold 
 Autosize = False 
 Alignment = taCenter 
 DragMode = dmAutomatic 
 
• Insira mais um componente Label e configure-o 
 
Propriedade Conteúdo 
Name LabelCores 
Caption Arraste as cores aqui para mudar a cor de Fundo 
Alignment taCenter 
AutoSize False 
Color clWhite 
Font Name - Arial 
Size - 24 
color - clBlack 
WordWrap True 
 
Curso de Programação em Delphi – Componentes Básicos do Delphi 
 Professor Evandro César Freiberger Página 36 
Procedimentos Associados 
 
procedure TFormArrasto.LabelCoresDragDrop(Sender, Source: TObject; 
 X, Y: Integer); 
begin 
 LabelCores.Color := (Source as TLabel).Color; 
end; 
 
procedure TFormArrasto.LabelCoresDragOver (Sender, Source: TObject; 
 X, Y: Integer; State: TDragState; var Accept: Boolean); 
begin 
 Accept := Source is TLabel; 
end;

Outros materiais