既用   Perform(WM_SYSCOMMAND, xxxxx, 0);发送窗体resize消息

解决方案 »

  1.   

    Perform(WM_SYSCOMMAND, SC_SIZE, 0);
      

  2.   

    我要的是,当鼠标按在FORM上的一个控件上,比如PANLE上,开始向左右拖动时,能改变FORM的宽度,而不是按住FORM的边缘
      

  3.   

    这和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的区域!