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
[51597] 감사합니다. 그런데 제가 원하는 것은...
해리 [hhy64] 1103 읽음    2007-12-12 18:18
대단히 감사합니다.
예제대로 해 봤더니 잘 동작하네요. 새로운 것을 배웠습니다.
한가지, TEdit 의 Border는 영역에서 제외가 되서 그 안쪽에만 그릴 수가 있더군요.

그런데 제가 실제로 원하는 것은,
폼 위에 여러개의 컴포넌트들을 올려 놓고 이들을 disable 한 뒤
그 위에 컴포넌트를 무시하고 마음대로 그림을 그릴 수는 없을까요?

Multi Selection 을 하려면,
먼저 마우스를 누르고 드레그하여 영역을 정하는 동안 점선의 rectangle 도 그려야 하고...
하여간, 하나의 컴포넌트 내에서 만이 아니라 여러개에 걸쳐진 선을 그려야 하는데...

다시 한번 답변 부탁드립니다.

대단히 감사합니다.
해리


장성호 님이 쓰신 글 :
: Edit는  TForm이나 TPanel 같이 다른 컨트롤을 올려놓을수 있는 컨테이너 컨트롤이 아닙니다.
: 그래서 올려놓을수 없는것입니다.
:
: 컴포넌트를 선택했을때 컴포넌트위에 박스를 그리고자 한다면?
: Handle이 있는 window컨트롤은 DC를 얻어서 draw하시면 됩니다.
:
:
: 1. TForm같은 경우  원하는 그림을 Form->Canvas에 그리면 됩니다.
:
: 2. 그런데 TPanel 이나 TButton , TEdit 등 Canvas 속성이 없는 Control은 어떻게 해야할까요?
:     모든 윈도우 Control은 화면을 자신의 DC에 그려줍니다.
:     그러므로 Panel에 원하는 그림을 그리고자 한다면 Panel의 DC를 얻어오면 되죠
:     보통 DC는 GetDC라는 api로 얻을수 있습니다.
:  
:     원하는 그림은 HDC dc=GetDC(Edit1->Handle);
:     RECT rc;
:     ...
:     DrawFocusRect(Can->Handle,&rc); 
:
: 3. 2번에서 api를 이용해서 그림을 그리기 불편하면 VCL의 TCanvas를 이용하는 방법이 있습니다.
:    
:    TCanvas *can=new TCanvas;
:     can->Handle = GetDC(Edit1->Handle);
:     can->Draw...
:      ......     
:     delete can;  
:
:     위와같이 하면 TCanvas에 있는 GDI그래픽 함수들을 쉽게 쓸수 있죠
:
:
: 결론적으로 TShape를 기존 Control위에 올리려고 하지 마시구요
: 직접 Control의 DC에 그림을 그려서 처리하도록 하십시요
:
: 참조
: http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=38049
: http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=49461
:
: 그럼..
:
:
:
: 해리 님이 쓰신 글 :
: : 안녕하세요?
: :
: : C++Builder 의 form editor 와 비슷한 것을 만들고 있습니다.
: : Component 를 선택했을 때, 그 Component 위로 박스를 그리고 싶은데
: : TShape 을 사용하는 경우에 이것이 항상 TEdit 의 아래로 가버립니다.
: :
: : TEdit 의 위에 그림을 또는 선을 그리는 방법이 없을까요?
: :
: : 감사합니다.
: : 해리.

+ -

관련 글 리스트
51587 TEdit 위에 TShape 올리기 해리 1086 2007/12/12
51593     Re:TEdit 위에 TShape 올리기 장성호 1240 2007/12/12
51597         감사합니다. 그런데 제가 원하는 것은... 해리 1103 2007/12/12
51599             Re:감사합니다. 그런데 제가 원하는 것은... 장성호 1307 2007/12/12
51602                 Re:Re:감사합니다. 그런데 제가 원하는 것은... 해리 1268 2007/12/13
51604                     Re:Re:Re:감사합니다. 그런데 제가 원하는 것은... 장성호 2509 2007/12/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.