程序的标题栏可以拖动程序,如何让其它区域也有同样的功能?

解决方案 »

  1.   

    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      ReleaseCapture;
      SendMessage(Handle,WM_SysCommand,$F012,0);
    end;
      

  2.   

    方法很多啊,CBDIY的是一种你业可以重新定义WM_NCHITTEST消息定义过程procedure WmNcHitTest(var Msg:TMessage);message WM_NCHITTEST;然后代码如下
    begin
      Inherited;
      if Msg.Result=htClient then
        Msg.Result:=htCaption;
    end;
      

  3.   

    对于CBDIY的方法,你也可以发送鼠标消息啊
      

  4.   

    On Mouse Down:ReleaseCapture();
    SendMessage(Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);