Q&A

  • borderstyle=none 일때 폼을 마우스로 이동
borderstyle=none 일때 실행중인 폼을 마우스로 원하는 위치로 이동시키고 싶은데 되질



않는군요!! borderstyle이 none이 아니면 실행중에도 마우스로 자류롭게 폼을 이동할수



있었는데, 않되네요!!! 알려주세용

3  COMMENTS
  • Profile
    타락천사 2000.05.26 00:02
    안녕하세여.. 타락임다.. ^^



    잘안쓰지만 WM_NCHITTEST가 있지여, 이걸 받아서 캡션이라고 속이면 됩니다.



    (갑자기 기억은 안나고, VC++팁만 보이고, 찾느라고 고생 많이했습니다...T_T



    머리나쁜게 죄져.. T_T~~ 히잉~~)



    private

    procedure WMNCHitTest(var M: TWMNCHitTest); message WM_NCHitTest;



    ------------

    procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);

    begin

    inherited;

    if M.Result = htClient then

    M.Result := htCaption;

    end;



    하시면 됩니다..



    왕초보 타락천사. ^_____^



    문형록 wrote:

    > borderstyle=none 일때 실행중인 폼을 마우스로 원하는 위치로 이동시키고 싶은데 되질

    >

    > 않는군요!! borderstyle이 none이 아니면 실행중에도 마우스로 자류롭게 폼을 이동할수

    >

    > 있었는데, 않되네요!!! 알려주세용

  • Profile
    조규춘 2000.05.25 23:28
    문형록 wrote:

    > borderstyle=none 일때 실행중인 폼을 마우스로 원하는 위치로 이동시키고 싶은데 되질

    >

    > 않는군요!! borderstyle이 none이 아니면 실행중에도 마우스로 자류롭게 폼을 이동할수

    >

    > 있었는데, 않되네요!!! 알려주세용!



    예전에 제가한 거에 있는 소스를 보여드리 볼꼐요!

    procedure Tfrmcal.mainImageMouseDown(Sender: TObject; Button: TMouseButton;

    Shift: TShiftState; X, Y: Integer);

    type

    LH = Record

    L : Word;

    H : Word;

    end;

    var

    LParam : Integer;

    begin

    if Button = mbLeft then

    begin

    If (WindowState <> wsMaximized) then

    begin

    ReleaseCapture;

    LH(LParam).L := X;

    LH(LParam).H := Y;

    If Sender = mainImage then

    SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, LParam);

    end;

    end;

    end;



    물론 타이틀바 없이 하는 건데..... 이미지 콤포로 이동하게 한겁니다.

    이거만 이용하면 어떤 걸로도 이동시킬수 있겠지유~!



    조규춘올림.

  • Profile
    문형록 2000.05.25 23:56
    조규춘 wrote:

    > 문형록 wrote:

    > > borderstyle=none 일때 실행중인 폼을 마우스로 원하는 위치로 이동시키고 싶은데 되질

    > >

    > > 않는군요!! borderstyle이 none이 아니면 실행중에도 마우스로 자류롭게 폼을 이동할수

    > >

    > > 있었는데, 않되네요!!! 알려주세용!

    >

    > 예전에 제가한 거에 있는 소스를 보여드리 볼꼐요!

    > procedure Tfrmcal.mainImageMouseDown(Sender: TObject; Button: TMouseButton;

    > Shift: TShiftState; X, Y: Integer);

    > type

    > LH = Record





    정말 고맙네요 말씀대로 했더니 잘되는데요!!!

    감사감사 !

    > L : Word;

    > H : Word;

    > end;

    > var

    > LParam : Integer;

    > begin

    > if Button = mbLeft then

    > begin

    > If (WindowState <> wsMaximized) then

    > begin

    > ReleaseCapture;

    > LH(LParam).L := X;

    > LH(LParam).H := Y;

    > If Sender = mainImage then

    > SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, LParam);

    > end;

    > end;

    > end;

    >

    > 물론 타이틀바 없이 하는 건데..... 이미지 콤포로 이동하게 한겁니다.

    > 이거만 이용하면 어떤 걸로도 이동시킬수 있겠지유~!

    >

    > 조규춘올림.