Mover una ventana sin subtítulos utilizando un "área de arrastre"

Me gustaría tener mi propia barra de subtítulos y, por lo tanto, estoy usando básicamente un panel (Nombre: pnCaption) y elimino la barra de subtítulos original en CreateParams. Pero la capacidad de mover la ventana con MouseDown-MouseMove en el nuevo panel es un problema.

Normalmente usarías el mensaje NCHITTEST. PERO esto no se señala si el mouse está sobre el panel (mi propio título). Ver código ...

procedure TForm1.CreateParams(var params: TCreateParams);  
begin  
  inherited Createparams(Params);  
  with Params do  
    Style := (Style or WS_POPUP) and (not WS_DLGFRAME);  
end;  

procedure TForm1.WM_NCHitTest(var Msg: TWMNcHitTest);  
begin  
  inherited;  
  if PtInRect(pnCaption.BoundsRect, ScreenToClient(Point(Msg.XPos, Msg.YPos)))  
      then Msg.Result := HTCAPTION;  
end;  

Agradecería cualquier pista sobre cómo realizar esa tarea.

cristiano

Respuestas a la pregunta(4)

Su respuesta a la pregunta