



Fala galera do Show Delphi, tudo beleza?
#5 – 30 Dicas em 30 Dias
Neste post temos o quinto vídeo da série de trinta dicas em vídeo de Rodrigo Mourão.
Já imaginou se pudéssemos mover nossos componentes em tempo de execução? Isso é possível através de mensagens do sistema operacional.
Na dica de hoje Rodrigo Mourão vai falar sobre a mensagem WM_SYSCOMMAND, que nos permite alterar o comportamento de um controle no Windows. Vamos usar essa mensagem para fazer os componentes acompanharem as coordenadas do mouse.
Também no vídeo, Rodrigo aborda rapidamente como o Delphi trabalha com as mensagens do Windows, explicando de forma básica o que são os seguintes comandos:
SendMessage – Evento síncrono (Aguarda retorno do sistema operacional para continuar);
PostMessage – Evento assíncrono (NÃO espera resposta do sistema operacional para continuar);
Perform – Exclusivo da VCL, eventos de trocas de mensagens sem passar pela fila do sistema operacional.
Por que Rodrigo fala das mensagens? É que elas serão utilizadas para tornar os componentes de um formulário passiveis de configuração em tempo de execução.
Interessado? Vamos ao vídeo! Dica #05 – Movendo componentes em tempo de execução
Então pessoal, assistimos uma forma interessante para permitir que o próprio cliente customize o visual conforme a sua preferência.
Porque a gente pode mover os componentes no formulário, alterando tamanhos, ajustando layouts, enfim, redesenhando a tela. Ai precisaremos criar mecanismos para salvar as novas posições e outro mecanismo para ler as configurações ao reabrir a janela.
As configurações podem ser salvas em arquivos ini, banco da dados ou em qualquer forma de configuração, ai fica a seu critério. O objetivo principal do vídeo é demonstrar como tornar os componentes editáveis em tempo de execução.
Porém o próprio Rodrigo alerta, dizendo que você pode transformar sua vida num inferno se permitir que seus usuários movem os controles em seus sistemas, uma vez que, usuários inexperientes podem bagunçar a tela e tornar inviável a utilização, chamando o suporte recorrentemente e etc, então use com moderação.
Muito boa dica galera, eu gostei bastante e espero que vocês também gostem.
Quem quiser saber mais sobre as constantes utilizadas para as mensagens, é possível olhar na unit Winapi.Windows.pas, ela contém já todas as constantes necessárias para a manipulação dos controles.
Também é possível obter mais informações sobre a API do Windows visitando o site abaixo:
https://docs.microsoft.com/pt-br/windows/win32/menurc/wm-syscommand?redirectedfrom=MSDN
Dúvidas ou sugestões, deixe o seu comentário.
Um abraço e até a próxima. Valeu!