Delphi中的窗体移动

2008-02-23 07:19:36来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

1 2 3 4 5 6 7 8 9 下一页

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

方法一
  
  
以下是完成上述功能最普通的方法:在窗体的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;

上一篇: Delph基础学习:编程规范1.0.0.0
下一篇: Delphi控件,我们也可以(2)

1 2 3 4 5 6 7 8 9 下一页

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:不可移动的窗口示例代码

下一篇:Delphi“流”实现文件加密器