这和RESIZE毫无关系,RESIZE是你改变大小的结果,是不可逆的!你可以发送WM_SIZE消息,这样OnResize事件中的代码会执行,但窗体大小当然不会改变,这应该很好理解!procedure HitTest (var Msg: TWmNcHitTest);message wm_NcHitTest;procedure TForm1.HitTest(var Msg: TWmNcHitTest); var pt:TPoint; begin if (WindowState<>wsNormal) then begin inherited; exit; end; pt:=Point(Msg.xPos,Msg.yPos); pt:=ScreenToClient(pt); if (pt.X<100) and (pt.Y<100) then Msg.Result:=htLeft else inherited; end;试试,可以在窗体左上角上产生一个可以达到你要求的100*100的区域!
var
pt:TPoint;
begin
if (WindowState<>wsNormal) then
begin
inherited;
exit;
end;
pt:=Point(Msg.xPos,Msg.yPos);
pt:=ScreenToClient(pt);
if (pt.X<100) and (pt.Y<100) then Msg.Result:=htLeft
else inherited;
end;试试,可以在窗体左上角上产生一个可以达到你要求的100*100的区域!