C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[73894] Re:오 감사합니다!
StarWagon [starwagon] 4406 읽음    2016-10-07 17:06
말씀하시는 내용을 넣으려다가 말았는데,

A : 원본 비트맵
B : A에 드래그 영역이 그려진 비트맵

A를 복사한 B를 만들고 Panel2의 OnMouseMove에서 DownPosition과 현재 위치(X,Y)로
사각형을 그려서 패널에 뿌리시면 됩니다.
그런데 패널위에 패널(버튼)이 올라가 있으니 버튼에 드래그 영역이 가려지겠네요.
쉽게 해결하려면 버튼으로 쓰이는 패널을 반투명처리 하는것도...
테스트는 안해봐서 될지는 모르겠습니다. ㅎㅎ

버튼 위로 드래그 영역이 보여야 한다면, 송신영님이 말한 방법을 써야할 듯 합니다.

A : 원본 비트맵
B : 원본에 버튼모양이 그려진 비트맵
C : B에 드래그 영역이 그려진 비트맵

이렇게 하려면 버튼의 이름, 위치, 크기, 상태 등의 값을 가지는 구조체가 하나 필요하겠고
어떤 동작을 하려는지를 MouseUp, Down, Move 에서 감지하고 , 매 이벤트마다
구조체 개수 만큼 루프를 돌려서 선택,이동,크기조정 등의 상태에 따라 A에서 B를 만드는 방법을 달리 해야겠네요.
생각만해도 머리가 아프군요 ㅎㅎ;

이게 좀 더 복잡 할지는 모르겠지만 확실한 방법인 듯 합니다.



오바군 님이 쓰신 글 :
: 감사합니다~~~ !
:
: 딱 제가 생각했던 기능이네요
:
: 생각보다 간단하네요 ㅎㅎ
:
: 마우스 왼쪽 맨첨 클릭했을때 좌표랑 땟을때의 각 좌표안에 들어오는 애들을
: 일일이 TPanel 갯수만큼 루프 돌려서 그 안에 해당되는 애들을 선택하면 되는거였군요 !
:
: 다만 좀 아쉬운게 윈도우 바탕화면 마우스 드래그 처럼 드래그 했을때 범위를 표시 하는건 좀 힘들겠네요
:
: 범위 표시야 네모 상자로 그린다 치지만 그 네모 상자를 투명하게 보여서 범위 안에 들어오는 TPanel애들도 같이 표시를
: 해줘야 하는데 그건 좀 힘들거 같네요
:
: 아무튼 답변 감사합니다.
:

+ -

관련 글 리스트
73888 GraphicControl Drag and drop 관련 질문 드립니다. 오바군 4447 2016/10/07
73891     Re:GraphicControl Drag and drop 관련 질문 드립니다. StarWagon 4405 2016/10/07
73892         오 감사합니다! 오바군 4359 2016/10/07
73894             Re:오 감사합니다! StarWagon 4406 2016/10/07
73890     Re:GraphicControl Drag and drop 관련 질문 드립니다. 송신영 4428 2016/10/07
73893         감사합니다! 오바군 4418 2016/10/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.