QUOTE(Cleverson Honório Gouvêa @ Nov 20 2006, 03:19 PM)

Não Cara!!! Quero saber se posso impedor os Forms de serem movidos!!!
As janelas entende, quando você clica no titulo do Formulário e arrasta ele em tempo de execução!!!
Tem como impedir isso!?
Num outro forum, aprendi que há uma forma bem simples de evitar que uma janela seja movida (apenas): basta definir a proporiedade
Align do form para
alCustom. Combinada com a a sugestão do
Chrc de utilizar a propriedade
BorderStyle com
bsSingle - resolvem o problema de forma rápida.
E apenas para dar mais uma opção (que eu havia sugerido naquele forum), similar a do
Churc, dá para interceptar a mensagem WM_WINDOWPOSCHANGING. Ela ocorre antes que a movimentação ou resize sejam aplicados a janela:
CODE
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;
...
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