在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在实际工作中,需要把窗体的BorderStyle设置为bsNone,但这样窗体却无法拖动了.那只好自己写代码实现: private {Private declarations} OldX,OldY:integer; //定义变量 procedure TForm1.FormMouseDown(Sender:TObject;Button:TMouseButton; Shift:TShiftState;X,Y:Integer); begin OldX := x; OldY := y; end; procedure TForm1.FormMouseMove(Sender:TObject;Button:TMouseButton Shift:TShiftState;X, Y:Integer); begin if ssleft in shift then //按下鼠标左键 begin Form1.Left := Form1.Left+x-Oldx; Form1.Top := Form1.Top+y-Oldy; end; end; 但后来发现还有更好的方法,那就是重写WMHitTest消息事件: procedure WMHitTest(var Msg: TWMNCHitTest); message WM_NCHITTEST; procedure TForm1.WMHitTest(var Msg: TWMNCHitTest); |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论