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
[18435] 감사합니다. 불사새님. 폼위에 이미지나 판넬을 쓰야할것 같습니다(내용무)
정기원 [] 1203 읽음    2002-05-13 20:01
불사새 님이 쓰신 글 :
: TCanvas의 Pen 속성을 보시면 색 지정을 할수 있습니다.
:
: PCanvs->Pen->Color=clRed;
:
: 혹은
:
: PCanvas->Pen->Color=TColor(RGB(100,200,300));
:
: 이렇게 원하시는 색으로 지정하신후 LineTo를 하세요 그럼 색이 바뀝니다.
:
: Pen->Width는 굵기 지정이구요...
:
: 네에...Image의 Canvas를 사용하셔도 됩니다. 아니면 Panel을 따로 쒸우기보다
:
: 그냥 Form의 Canvas를 이용하시면 안되는지요?
:
: Panel의 경우도 폼을 만들때와 제거할때만 new, delete를 넣으시면 괜찮을듯 하네요...
:
:
:
: 정기원 님이 쓰신 글 :
: : 감사합니다. 불사새님.
: : 정말 도움이 많이 될것 같습니다.
: : 그리고 제가 명확히 설명을 드리지 않은것 같군요.
: : 라인에 색을 넣는다는것은 A지점과 B지점에 연결된 선에 문제가
: : 발생하면 그때 다른 색으로 표시하기 위함입니다. 이때 선에
: : 어떻게 색을 넣을 수 있나요?
: : 그리고 만약 폼에 Pannel Component를 사용하지 않고 Image Component를 사용하여
: : Client속성으로 폼을 채운다면 아래에 말씀하신 부분중
: : TCanvas *PCanvas=new TCanvas()와 PCanvas->Handle=GetDC(Panel1->Handle)를
: : 사용하지 않고 바로 Image에 있는 Canvas를 사용하면 되나요?
: :
: : 한번 더 감사드리며 즐거운 하루 되십시요.
: : 
: : 불사새 님이 쓰신 글 :
: : : Panel에는 TCanvas가 없습니다....그래서...Panel의 핸들로 DC핸들을 얻습니다...
: : :
: : :     TCanvas *PCanvas=new TCanvas();
: : :     PCanvas->Handle=GetDC(Panel1->Handle);
: : :
: : :     PCanvas->LineTo(100,100);  //그릴때
: : :
: : :     ReleaseDC(Panel1->Handle,PCanvas->Handle);
: : :     delete PCanvas;
: : :
: : : 요렇게 해주면...선 그리는것이 되겠구요..
: : : TCanvas에 보면 Pen속성에따라 선 색이나 기타 등등을 지정할수 있구요...
: : :
: : : TImage의 이동은 TImage의 MouseDown, MouseMove, MouseUp이벤트를 사용해서 이동시키세요...
: : :
: : : void __fastcall TForm1::Image1MouseDown(TObject *Sender,
: : :       TMouseButton Button, TShiftState Shift, int X, int Y)
: : : {
: : :     push=true;
: : :     posX=X;
: : :     posY=Y;
: : : }
: : : //---------------------------------------------------------------------------
: : : void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
: : :       int X, int Y)
: : : {
: : :     if(push)
: : :     {
: : :         Image1->Left=Image1->Left+X-posX;
: : :         Image1->Top=Image1->Top+Y-posY;
: : :     }
: : : }
: : : //---------------------------------------------------------------------------
: : : void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,
: : :       TShiftState Shift, int X, int Y)
: : : {
: : :     push=false;
: : : }
: : :
: : : Down일때 mouse눌린 위치 알고
: : :
: : : 다른 좋은 방법이 있을텐데...전 항상 이렇게만 해봐서....
: : :
: : : 색을 넣는다는건 그림을 조작한다는 건가요?
: : :
: : : 정기원 님이 쓰신 글 :
: : : : 이곳에 방문하시는 모든분들 안녕하신지요?
: : : : 몇일전에 소켓관련 질문 올렸는데 답변 주셔서 정말 감사하구요.
: : : : 또 궁금하고 막히는것이 있어서요
: : : : 질문의 요지는 3가지인데 다음과 같습니다.
: : : : AForm에 Pannel Component를 Client속성으로 올리고
: : : : Pannel위 A지점에 Image Component를 사용하여 A그림을 넣고,
: : : : Pannel의 다른 지점에 B그림을 넣었는데 A지점의 그림과 B지점의 그림을
: : : : 선으로 연결하여 이벤트에 따라 선의 색상을 달리 표현하고픈데
: : : : 어떻게 해야 하나요? 즉 선을 그릴려면 무슨 Component를 사용해야 하며
: : : : 선의 색상을 주려면 어떤 함수나 이벤트를 사용해야 하는지요?
: : : : 그리고 A그림을 다른 지점 예를 들어 C지점으로 옮길려면 Image Component의
: : : : 어떤 이벤트를 사용해야 하나요? 혹시 OnDragDrop을 사용해야 하는지요?
: : : : 마지막으로 A 그림에도 어떤 이벤트에 따라 색깔을 넣고 싶은데 어떻게 해야 하는지요?
: : : : 미리 답변에 감사 드리며, 부디 많은 조언 부탁드립니다.
: : : : 그럼 이곳에 방문하시는 모든분들 행운이 있으시길.
: : : :
: :

+ -

관련 글 리스트
18419 하나의 폼위에 있는 A지점 그림에서 B지점 그림으로 선을 연결하고픈데 어떻게 선을 그리는지요? 정기원 1017 2002/05/13
18432     Re:제 경우엔 이렇게 했는데...^^;; 로렌조 910 2002/05/13
18424     Re:하나의 폼위에 있는 A지점 그림에서 B지점 그림으로 선을 연결하고픈데 어떻게 선을 그리는지요? 불사새 985 2002/05/13
18427         Re:Re:하나의 폼위에 있는 A지점 그림에서 B지점 그림으로 선을 연결하고픈데 어떻게 선을 그리는지요? 정기원 1084 2002/05/13
18428             Re:Re:Re:하나의 폼위에 있는 A지점 그림에서 B지점 그림으로 선을 연결하고픈데 어떻게 선을 그리는지 불사새 1047 2002/05/13
18435                 감사합니다. 불사새님. 폼위에 이미지나 판넬을 쓰야할것 같습니다(내용무) 정기원 1203 2002/05/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.