如果你在开发图形或多媒体应用程序,你可能正在为如何不使用窗体的标题栏而移动窗体发愁。其实只需用鼠标拖动窗体的客户区就可以了。 方法一 以下是完成上述功能最普通的方法:在窗体的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;
|