Form, não mover
Olá... saudações a todos.
Alguém sabe como fazer para deixar um Form fixo???
(Ou seja, o usuário não poderá mover o Form na tela)
Obrigado pela ajuda.
Queiroz
Alguém sabe como fazer para deixar um Form fixo???
(Ou seja, o usuário não poderá mover o Form na tela)
Obrigado pela ajuda.
Queiroz
Queiroz
Curtidas 0
Respostas
Micheus
24/10/2006
[b:f7fdd8c072]Queiroz[/b:f7fdd8c072], intercepte a mensagem WM_WINDOWPOSCHANGING. Ela ocorre antes que a movimentação ou resize sejam aplicados a janela.
Ex.:O que se faz é modificar o flag para conter a opção SWP_NOMOVE, impedindo que a janela seja movida de sua posição.
Msg.Result = 1 diz ao processador de mensagens do windows que não tratamos esta mensagem, de modo que ela seguirá e será processada com nossa alteração.
Se quizer que o tamanho da janela não mude, também, acrescente ´OR SWP_NOSIZE´.
[]s
Ex.:
type TForm1 = class(TForm) private procedure WMWinPosChanging(var Msg :TMessage); message WM_WINDOWPOSCHANGING; ... end; implementation {$R *.DFM} procedure TForm1.WMWinPosChanging(var Msg :TMessage); begin PWindowPos(Msg.LParam)^.flags := PWindowPos(Msg.LParam)^.flags OR SWP_NOMOVE; Msg.Result := 1; end; ...
Msg.Result = 1 diz ao processador de mensagens do windows que não tratamos esta mensagem, de modo que ela seguirá e será processada com nossa alteração.
Se quizer que o tamanho da janela não mude, também, acrescente ´OR SWP_NOSIZE´.
[]s
GOSTEI 0
Alecsandro Moura
24/10/2006
Bom eu faço o seguinte, para não deixar o form ser movimentado pelo Usuario apenas mudo a propiedade Align do form para custom assim o form não podera ser movimentado pelo menos acho mais simples :wink:
GOSTEI 0
Queiroz
24/10/2006
Grato pelo Help. Ajudou muito.
Abraços,
Pedro.
Abraços,
Pedro.
GOSTEI 0