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;
procedure TfrmMain.WMNCHITTEST(var M:TWMNCHITTEST); //应该是一个消息处理的过程
begin
inherited;//继承原有的消息事件
if M.Result=HTCLIENT then //
M.Result:=HTCAPTION;
end;
我读起来也很吃力!
关注中