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
[18054] 제 소스좀 확인 해 주세요. 꼭 부탁드립니다!!
상상빌더 [] 775 읽음    2002-04-30 12:39
폼에 여러개의 이미지를 동적 생성한뒤, 마우스루 이 이미지중 하나를 선택함 선택한 이미지에 대한 정보를 가진 DB의 record루 이동하는 코드입니다.
선택한 이미지 번호는 ObjOrder에 입력됩니다.  제가 ObjOrder에 선택한 이미지 번호가 제대로 입력되는 것까지는 확인했는데 DB의 해당 위치론 가질않네여. 왜그럴까요? 정말 이상합니다.
그다지 깔끔한 소스는 아니지만 한번만 꼭 봐주십시요. 뭐가 문젠지 모르겠습니다.

//---------------------------------------------------------------------------
void __fastcall TnewMDIChild::ImageMouseDown(TObject * Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y){

  GetCursorPos(&p);
  if(newMainForm->gEditMode){
     ClickedImage = (TImage*)Sender;
     for(int i=1;i<ObjCnt[Ocount];i++)
        if(Obj.X[i]==ClickedImage->Left &&  Obj.Y[i]==ClickedImage->Top)   ObjOrder = i;
     Table1->SetKey();
     Table1->FieldByName("Object Count")->AsInteger=ObjOrder;
     if(Table1->GotoKey()){
         ShowMessage("OK");
         Table1->Edit();
         Table1->FieldByName("Object Count")->AsInteger=ObjOrder;
         Table1->Post();
       }
    else ShowMessage("Fail");
    if(Button==mbLeft){
              imMouseDown = true;
              oldx = p.x;
              oldy = p.y;
              ClickedImage->ControlStyle=ClickedImage->ControlStyle>>csOpaque;
    }

} //if(newMainForm->gEditMode)
else return;
}
//---------------------------------------------------------------------------
void __fastcall TnewMDIChild::ImageMouseMove(TObject * Sender,
      TShiftState Shift, int X, int Y)
{
   GetCursorPos(&p);
   if(newMainForm->gEditMode){
     ClickedImage = (TImage*)Sender;
     ClickedImage->Transparent = true;
     ClickedImage->ControlStyle=ClickedImage->ControlStyle>>csOpaque;   
     if(imMouseDown) {

        ClickedImage->Left += p.x - oldx;
        ClickedImage->Top += p.y - oldy;
           oldx = p.x;
           oldy = p.y;
     }
   }
   else return; 
}
//---------------------------------------------------------------------------
void __fastcall TnewMDIChild::ImageMouseUp(TObject * Sender, TMouseButton Button,
     TShiftState Shift, int X, int Y)
{
   if(!newMainForm->gEditMode) return;
   else{
     if(Button==mbLeft)    imMouseDown=false;
  }
}
//---------------------------------------------------------------------------

+ -

관련 글 리스트
18054 제 소스좀 확인 해 주세요. 꼭 부탁드립니다!! 상상빌더 775 2002/04/30
18067     Re:제 소스좀 확인 해 주세요. 꼭 부탁드립니다!! 허재연 893 2002/04/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.