|
뭐 일단 저는 CRectTracker라는 클래스는 잘 모릅니다만..
구현이야 다 비슷하게 될 수 밖에 없지 않나요?..
방법은 많겠지만.. 비교적 쉬운 방법은 만약 사각형객체를 예로 든다면
마우스가 떨어진 곳에 TShape를 동적으로 생성합니다.
생성하면서 동적으로 생성한 TShape의 각각의 꼭지점마다 TShape를 작게 다시 생성합니다.
이러면 사각형이 있고 그 사각의 꼭지 마다 작은 사각이 또 있는 모양이 되겠죠..
마치 빌더 IDE의 그것 처럼..
작은 사각 네개는 위치마다 Cursor를 적당한 걸로 바꾸어 줍니다.
그래서 마우스가 작은 사각영역으로 들어가면 커서가 바뀌고 마우스 다운에서 부터
마우스 업까지.. 사각을 지우고 그리고 지우고 그리고를 반복하다가..
(마치 바탕화면에서 마우스를 드래그하면 그려지는 사각처럼)
마우스 업이 되면 TShape를 마우스가 움직인 만큼 다시 늘리거나 줄여서 그려 주면 됩니다.
필요한 것은
1. 바탕화면의 마우스로 드래그하면 그려졌다가 지워지는 동작을 이해한다.
2. 컴포넌트를 동적으로 생성하고 해제한다.
이 정도만 이해하시면 코드를 많이 작성하지 않으시고도..
바로 구현하실 수 있구요..
1,2번은 이곳 자료실이나 질답란에서 찾을 수 있을 겁니다.
모자란다면 www.delmadang.com도 참조하시길...
주병윤 님이 쓰신 글 :
: 파워포인트나 기타 측정용 이미지 처리 프로그램에서 원이나 직선을 이미지 상에서 그려 넣고 그것을 선택하면 사각형 모양의 외곽선이 뜨면서 위치 조정이나 크기 조정을 자유자재로 할 수 있는데 빌더5.0에서 이것을 구현하고 싶습니다.
: MFC에서는 CRectTracker란 클래스가 있는데 빌더에서는 어떻게 할 지 모르겠습니다. 답변부탁드립니다.
|