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
[7782] Re:PaintBox에서..
방태윤 [nabty] 1492 읽음    2001-05-27 17:29
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  pl=new TList();
  btn_pressed=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
  for(int i=0;i<pl->Count;i++){
    delete pl->Items[i];
  }
  delete pl;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::PaintBox1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  btn_pressed=true;
  pl->Add(new TPoint(-1,0));
  pl->Add(new TPoint(X,Y));
  PaintBox1->Canvas->MoveTo(X,Y);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PaintBox1MouseUp(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  btn_pressed=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PaintBox1MouseMove(TObject *Sender,
      TShiftState Shift, int X, int Y)
{
  if(btn_pressed){
    PaintBox1->Canvas->LineTo(X,Y);
    pl->Add(new TPoint(X,Y));
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) //clear
{
  PaintBox1->Canvas->FillRect(PaintBox1->ClientRect);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender) // re-draw
{
  for(int i=0;i<pl->Count;i++){
    if(((TPoint*)(pl->Items[i]))->x==-1){
      i++;
      PaintBox1->Canvas->MoveTo(((TPoint*)(pl->Items[i]))->x,((TPoint*)(pl->Items[i]))->y);
    }else{
      PaintBox1->Canvas->LineTo(((TPoint*)(pl->Items[i]))->x,((TPoint*)(pl->Items[i]))->y);
    }
  }
}
.끝.

조성택 님이 쓰신 글 :
: 페인트 박스에서 마우스로 선을 그리고 다시 그려질대는 TList에 미리 정보를 넣어서 다시 그리게 하려고 하는데 잘 안되네요..하는 방법좀..

+ -

관련 글 리스트
7774 PaintBox에서.. 조성택 1273 2001/05/27
7782     Re:PaintBox에서.. 방태윤 1492 2001/05/27
7775     Re:PaintBox에서.. 홍성진 1375 2001/05/27
7777         Re:Re:PaintBox에서.. 조성택 1399 2001/05/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.