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
[20803] ^&^ 또 왔군. 히히(태윤님 함 봐주세염..ㅠ.ㅠ)
최수정 [csj7477] 726 읽음    2002-08-14 17:04
태윤님 덕분에 개념이 정리 되서리.. 참 고맙습니다..^^

자꾸 이상한 값이 나와서염.. --> 트래커 그릴라고 하고 있거던여

도형을 선택하면..

//-------- 좌표값을 저장함. ------------
  //  all->Add(new box(TRect(100,100,200,300),"box1"));

    switch (ShapeNum)
  {
    case 0: //선택

       break;
    case 1: //사각형
       all->Add(new box(TRect(Point1.x, Point1.y,X,Y)));
       break;
    case 2: //둥근 사각형
       all->Add(new Round(TRect(Point1.x, Point1.y,X,Y)));
       break;
    case 3: //원
       all->Add(new cirlc(TRect(Point1.x, Point1.y,X,Y)));
       break;
  };
//-----------------------------------------

//--------- 도형을 선택함. ----------------
1. 도형을 선택함
2. 선택된 도형이 맨앞으로 옴
all->Move(cur_index, all->Count-1); // 찾은 객체를 맨 마지막으로 옮긴다.
draw_all();       //다시 그린다.
Tr = (TRect *) all->Items[all->Count-1];
Tracker(*Tr);        //tracker를 그린다.

//---------- 트래커를 그림 ---------------
void __fastcall TForm1::Tracker(TRect r) 
                       r={left:4211976 top:233 right:93 buttom:371}
                            --->> 들어가는 값이 넘 크게 들어가염(왜 이렇게 되는지)
                                  제가 뭘 잘못 했나여..?
{
   DrawShapePoint(r.left-3 ,r.top-3 ,r.left+3 ,r.top+3);
   DrawShapePoint(r.right-3 ,r.top-3 ,r.right+3 ,r.top+3);
   DrawShapePoint(r.left-3 ,r.bottom-3 ,r.left+3 ,r.bottom+3);
   DrawShapePoint(r.right-3 ,r.bottom-3 ,r.right+3 ,r.bottom+3);

   DrawShapePoint(r.left-3 ,r.top + ((r.bottom - r.top)/2)-3
                          ,r.left+3 ,r.top + ((r.bottom - r.top)/2)+3);

   DrawShapePoint(r.right-3 ,r.top + ((r.bottom - r.top)/2)-3
                          ,r.right+3 ,r.top + ((r.bottom - r.top)/2)+3);

   DrawShapePoint(r.left + ((r.right - r.left)/2)-3, r.top-3
                          ,r.left + ((r.right - r.left)/2)+3, r.top +3);

   DrawShapePoint(r.left + ((r.right - r.left)/2)-3, r.bottom-3
                          ,r.left + ((r.right - r.left)/2)+3, r.bottom +3);
}

void __fastcall TForm1::DrawShapePoint(int w, int x, int y, int z)
{
    Form1->Canvas->Brush->Color = clBlack;
    Form1->Canvas->Brush->Style = bsSolid;
    Form1->Canvas->Pen->Mode = pmNotXor;
    Form1->Canvas->Pen->Style = psSolid;
    Form1->Canvas->FillRect(Rect(w,x,y,z));
}
//----------------------------------------------------------------------------

+ -

관련 글 리스트
20803 ^&^ 또 왔군. 히히(태윤님 함 봐주세염..ㅠ.ㅠ) 최수정 726 2002/08/14
20824     Re:^&^ 또 왔군. 히히(태윤님 함 봐주세염..ㅠ.ㅠ) 방태윤 752 2002/08/16
20826         ^^ 에구구 한방에 되네염..에~혀~...^^;; 최수정 661 2002/08/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.