본문 바로가기
카테고리 없음

델파이 ReleaseCapture SetCapture GetCapture 컴포넌트 이동

by MonoSoft 2021. 8. 22.
728x90
반응형

델파이 ReleaseCapture SetCapture GetCapture 컴포넌트 이동

 

ReleaseCapture, SetCapture, GetCapture 

메소드들은 마우스 이벤트를 헨들링하기 위해 사용하는데요.,

 

설명하자면, 평상시에는 마우스포인트가 움직일때,

그 포인트 밑에 있는 컨트롤들이 메시지를 받아서 처리하게 되는데,

SetCapture 로 특정컨트롤을 지정하면,

마우스의 메시지가(클릭,이동등등..) 그 컨트롤에 보내지게 됩니다.

즉, 마우스 포인터가 컨트롤의 Front에 존재하지 않아도

컨트롤은 메시지를 받아 특정한 임무를 할 수 있죠.., 

 

많이 쓰이는 곳은 드래그 하여 영역을 지정하고 싶을때,

또는 마우스 드래그등을 할 때 등..

런타임 컨트롤 마우스 이동등의...기능들...

 

GetCapture 는 지금 마우스메시지를 받아

처리할 수 있는 컨트롤의 헨들값을 받아오는 거겠고..

ReleaseCapture 는 메시지 제어권을 풀어주겠다는 것

타이틀바가 없는 폼을 이동하기 위해선..

타이틀바를 대신할 컴포넌트(Ex:Label, Panel) 을 올려두고

MouseDown 이벤트에서

ReleaseCapture;

Perform( WM_SYSCOMMAND, $F012, 0 );

 

폼디자인에서 좀 더 자유로워짐 NC영역 컨트롤하는것보단 쉽고

ReleaseCapture();

TPanel(Sender).Perform(WM_SYSCOMMAND,$F012,0);

 

728x90
반응형

댓글