Apresentação da interface ao abrir o Lazarus pela primeira vez

Janela principal (janela global superior), área 1 da imagem acima
Diferente dos softwares que usamos no dia a dia, ao iniciar o Lazarus várias janelas flutuantes independentes são abertas. A janela longa na parte superior é a janela principal do IDE, com o formato de título: project1 - Lazarus IDE vnúmerodversão. Ao abrir outros projetos, o título é substituído automaticamente pelo nome do projeto atual. Funções: janela de controle central do IDE, contendo o menu principal e a Paleta de Componentes (Component Palette).

- Abaixo da barra de título: menu principal Contém os menus padrão: File, Edit, Search, View

- Lado esquerdo abaixo do menu: barra de ferramentas rápida (Coolbar) Botões com ícones para executar rapidamente as funções mais utilizadas dos menus;

- Lado direito abaixo do menu: Paleta de Componentes Component Palette

Grupos de abas integrados
Standard, Additional, Common Controls, Dialogs, Data Controls, Data Access, System, Misc, LazControls, RTTI, SQLdb, Pascal Script, SynEdit, Chart, IPro
As duas janelas de edição centrais
Na parte inferior do IDE, temos duas janelas lado a lado:
- Esquerda: Inspetor de Objetos Object Inspector

Veja abaixo a explicação das propriedades mais comuns
| Nome da propriedade | Explicação da função |
|---|---|
| Action | Vincula ações predefinidas, como fechar ou sair do programa |
| Align | Alinhamento do controle ao container pai: alTop (topo), alBottom (rodapé), alLeft (esquerda), alRight (direita), alClient (ocupa espaço restante), alNone (posição livre) |
| Anchor | Mantém a distância entre o controle e as bordas ao redimensionar a janela; exemplo [akBottom,akRight] fixa o controle no canto inferior direito |
| Caption | Texto exibido no controle (botões, rótulos). Use nomes significativos, não deixe o padrão Button1 |
| Color | Cor de fundo do controle |
| Enabled | Valor booleano; quando False, o controle fica acinzentado e não pode ser clicado |
| Font | Fonte, tamanho e cor do texto; expandindo o item você configura detalhes |
| Hint / ShowHint | Texto de dica ao passar o mouse; a dica só aparece se ShowHint=True |
| Name | Nome de identificação do controle no código. Adote nomes padronizados (OkBtn, ExitBtn), evite Button1 padrão |
| Left / Top | Coordenadas do canto superior esquerdo do controle |
| Width / Height | Largura e altura do controle; Constraints limita tamanhos mínimo e máximo |
| ReadOnly | Campo de texto apenas leitura, não permite edição |
| TabOrder / TabStop | Ordem de navegação com a tecla Tab; TabStop=False impede seleção via Tab |
| Text / Lines | Text para texto de linha única; Lines para múltiplas linhas (no TMemo o array começa no índice 0) |
| Visible | Quando False, o controle fica totalmente oculto |
| WordWrap | Quebra automática de linha em campos multilinha |
| PopUpMenu | Menu de contexto ao clicar com o botão direito do mouse |
Abaixo estão os eventos mais utilizados no dia a dia
| Evento | Momento de disparo |
|---|---|
| OnClick | Clique esquerdo no controle (muito usado em botões) |
| OnChange | Quando o conteúdo ou estado do controle muda (edição de texto, troca de item em lista suspensa) |
| OnEntry | Mouse entra no controle, ele ganha foco |
| OnExit | Mouse sai do controle, ele perde foco |
| OnKeyDown / OnKeyPress / OnKeyUp | Apertar tecla, digitar caractere, soltar tecla |
| OnMouseMove / OnMouseDown / OnMouseUp | Mover mouse, pressionar botão do mouse, soltar botão do mouse |
| OnDragDrop | Ação de soltar item após arrastar |
| OnEditingDone | Quando o usuário finaliza a edição, ideal para validação de entradas |
| OnResize | Ao alterar o tamanho do controle |
- Direita: Editor de Código Source Editor

Vamos modificar o exemplo da aula anterior para alterar várias propriedades ao clicar no botão
procedure TForm1.Button1Click(Sender: TObject);
begin
// Alterna o texto usando a propriedade Tag
if Button1.Tag = 0 then
begin
Button1.Caption := 'Clique novamente';
Button1.Tag := 1;
// Altera tamanho e cor do botão via código
Button1.Height := 50;
Button1.Color := clYellow;
end
else
begin
Button1.Caption := 'Clique';
Button1.Tag := 0;
Button1.Height := 30;
Button1.Color := clBtnFace;
end;
end; Code language: JavaScript (javascript)

Sobreposto ao editor de código está a janela de design do formulário Form1

Dicas importantes
- Atalho
F12: alterna entre tela de design do formulário e tela de código fonte - Janela do formulário: arraste controles para montar a interface gráfica do seu software
- Editor de código: escreva o código Pascal com a lógica da aplicação
Outras janelas auxiliares
Janela de Mensagens Message (rodapé da tela) Exibe logs de compilação, erros e avisos de execução ao compilar o programa;

Inspetor de Projetos Project Inspector Lista todos os arquivos contidos no projeto, permite criar ou excluir unidades e formulários;
Janela de terminal (mantida ao abrir o Lazarus via terminal): exibe o log completo da compilação.
Explicação das janelas do editor do IDE Lazarus