delphi 无边框用鼠标改变窗体大小
- //先声明
- procedure WMNCHITTEST(var Msg : TWMNCHITTEST); message WM_NCHITTEST;
- //无边框用鼠标改变窗体大小
- procedure TForm1.WMNCHITTEST(var Msg: TWMNCHITTEST);
- const
- cOffset=10;
- var
- vPoint: TPoint;
- begin
- inherited;
- vPoint:= ScreenToClient(Point(Msg.XPos, Msg.YPos));
- if PtInRect(Rect(0, 0, cOffset, cOffset),vPoint) then
- Msg.Result := HTTOPLEFT
- else if PtInRect(Rect(Width - cOffset, Height - cOffset, Width, Height), vPoint) then
- Msg.Result := HTBOTTOMRIGHT
- else if PtInRect(Rect(Width - cOffset, 0, Width, cOffset), vPoint) then
- Msg.Result := HTTOPRIGHT
- else if PtInRect(Rect(0, Height - cOffset, cOffset, Height), vPoint) then
- Msg.Result := HTBOTTOMLEFT
- else if PtInRect(Rect(cOffset, 0, Width - cOffset, cOffset), vPoint) then
- Msg.Result := HTTOP
- else if PtInRect(Rect(0, cOffset, cOffset, Height - cOffset), vPoint) then
- Msg.Result := HTLEFT
- else if PtInRect(Rect(Width - cOffset, cOffset, Width, Height - cOffset), vPoint) then
- Msg.Result := HTRIGHT
- else if PtInRect(Rect(cOffset, Height - cOffset, Width - cOffset, Height), vPoint) then
- Msg.Result := HTBOTTOM;
- end;