正确的消息处理过程如下,上面作废
procedure TFormRunWiz.WMNChitTest(var Msg: TWMNChitTest);
begin
    inherited;
    if Msg.Result = htClient then
        Msg.Result := htCaption;
end;

解决方案 »

  1.   

    出现这个问题是因为Label和SpeedButton只是一个GraphicControl,是没有句柄的。你只需要将它们放在Panel(或其它WinControl)上,然后再将Panel放在Form上即可!
       Good Luck!
      

  2.   

    procedure TForm1.WmNcHitTest(var Msg: TWmNcHitTest);
    var Ctrl: TControl;
        P: TPoint;
    begin
      P.x := Msg.XPos;
      P.y := Msg.YPos;
      P := ScreenToClient(P);
      Ctrl := ControlAtPos(P, False);
      if Ctrl = Button1 then
        Msg.Result := HTCLIENT
      else if Ctrl = label1 then
        Msg.Result := HTCAPTION
      else
        inherited;
    end;