正在阅读:Delphi中的窗体移动Delphi中的窗体移动

2004-03-31 10:17 出处:delphi精髓网 作者:delphi精髓 责任编辑:sdq

  如果你在开发图形或多媒体应用程序,你可能正在为如何不使用窗体的标题栏而移动窗体发愁。其实只需用鼠标拖动窗体的客户区就可以了。
           

方法一
  
  
以下是完成上述功能最普通的方法:在窗体的private声明部分加入以下过程声明:procedure WMNCHitTest(var Msg:TWMNCHitTest);message WM_NCHITTEST;然后在implementation部分加入以下代码:
            procedure TForm1{或你定义的Form名}.WMNCHitTest(var Msg:TWMNCHitTest);
            begin
            DefaultHandler(Msg);
            if Msg.Result = HTCLIENT then
            Msg.Result:= HTCAPTION;
            end;
此方法中使当鼠标点击窗体客户区时,令Windows认为被点击的是标题栏。
           
方法二
  
    
  以下是另一个实现用鼠标移动普通窗体的方法。
            procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState;
            X, Y: Integer);
            begin
            if (ssLeft in Shift) then begin
            ReleaseCapture;
            SendMessage(Form1.Handle,WM_SYSCOMMAND,SC_MOVE+1,0);
            end;
            end;

察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品