Q&A

  • 프로님들의 조언 부탁 : None 폼에서 폼리사이즈 할려면?
델파이 폼을 None상태에서요

마우스로 폼 끝을 잡고 당켜서 크기를 변경시킬 수 있나여?



아시는 분들 방법좀 갈켜 주세요...

1  COMMENTS
  • Profile
    최용일 2001.11.13 00:03
    안녕하세요. 최용일입니다.



    WM_NCHITTEST메세지를 이용하세요...



    type

    TForm1 = class(...)

    ...

    procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;

    end;



    implementation



    procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest);

    const

    BorderSize = 4;

    var

    P: TPoint;

    begin

    P := Point(Message.XPos, Message.YPos);

    P := ScreenToClient(P);



    if (P.X < BorderSize) and (P.Y < BorderSize) then

    Message.Result := htTopLeft

    else if (P.X > Width - BorderSize) and (P.Y < BorderSize) then

    Message.Result := htTopRight

    else if (P.X > Width - BorderSize) and (P.Y > Height - BorderSize) then

    Message.Result := htBottomRight

    else if (P.X < BorderSize) and (P.Y > Height - BorderSize) then

    Message.Result := htBottomLeft

    else if (P.X < BorderSize) then

    Message.Result := htLeft

    else if (P.Y < BorderSize) then

    Message.Result := htTop

    else if (P.X > Width - BorderSize) then

    Message.Result := htRight

    else if (P.Y > Height - BorderSize) then

    Message.Result := htBottom

    else

    inherited;

    end;



    ^^ 항상 즐코하세요...



    학생 wrote:

    > 델파이 폼을 None상태에서요

    > 마우스로 폼 끝을 잡고 당켜서 크기를 변경시킬 수 있나여?

    >

    > 아시는 분들 방법좀 갈켜 주세요...