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
[6374] PaintBox의 OnPaint Event 제대로 사용하는 법
왕골 [] 2393 읽음    2001-03-28 10:43
안녕하세요. 초보입니다.
항상 도움을 주어서 감사드립니다.

질문드리고자 하는 것은 paintbox를 하나 그려놓고 onpaint event에 어떤 line 을 그린후에(이때는 프로그램이 run되면 바로 main화면에 그래프가 나타나죠) mousedown, mousemove event를 이용하면 그 line을 움직일 수 있는 코드를 짰습니다.

그런데 이번에는 Button을 하나 만들어 그 버튼을 누르면 그리고자 하는 그래프의 좌표(즉 점1(x1, y1), 점2(x2, y2), 점3( , ) ....)를 계산한 다음 TPoint에 저장한 후 위의 OnPaint Event내에 구현한 동일한 코드즉, Paintbox1->Canvas->MoveTo(점1), Paintbox1->Canvas->LineTo(점2), ...을 써놓았더니 Mouse down, Mousemove event가 먹지 않군요. 아마 OnPaint Event가 먹지 않아서 그런 모양인데 어떻게 하면 되는지요. 


****  버튼에 구현한 코드는 다음과 같습니다********]

void __fastcall TForm1::Button3Click(TObject *Sender)
{
int PStep, MinP, MaxP;

PStep=atoi(Edit1->Text.c_str()) ;
MinP = atoi(Edit2->Text.c_str()) ;
MaxP = atoi(Edit3->Text.c_str()) ;

DelP=200./PStep;
DelStep=450./PStep;
//SumP=DelP;

for(int i=0;i<PStep; i++)
{
  Pt[i].x=i*DelStep, Pt[i].y=i*DelP;
//  SumP=SumP+DelP;
//  ShowMessage(Pt[i].x);
}

PaintBox1->Canvas->Pen->Color=clTeal;
PaintBox1->Canvas->Rectangle(0,0,400,0+200);
PaintBox1->Canvas->Pen->Color=clBlack;
//Canvas->Polyline((TPoint*)Pt,6);
//below code draws star
PaintBox1->Canvas->MoveTo( Pt[0].x,Pt[0].y);

for (int i=1;i<PStep; i++)
  {
   PaintBox1->Canvas->LineTo(Pt[i].x, Pt[i].y );

  }
}

+ -

관련 글 리스트
6374 PaintBox의 OnPaint Event 제대로 사용하는 법 왕골 2393 2001/03/28
6408     Re:PaintBox의 OnPaint Event 제대로 사용하는 법 박지훈.임프 3609 2001/03/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.