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
[58293] Re:Re:C++언어로 어케 바꾸는지좀 알려주세요
hazard [] 932 읽음    2009-08-31 14:41
장성호 님이 쓰신 글 :
: hazard 님이 쓰신 글 :
: : procedure TfrmTSTS_S_13_003.OnGridRowChanging(Sender: TObject;
: :             OldRow, NewRow: Integer; var Allow: Boolean);
: : var
: :   Grid: TAdvColumnGrid;
: :   I, C, T, R: Integer;
: :   ORow: Array [0..2] of Integer;
: :   NRow: Array [0..2] of Integer;
: : begin
: :   if Sender is TAdvColumnGrid then begin
: :     Grid := TAdvColumnGrid(Sender);
: :     for I := 0 to Grid.VisibleColCount + Grid.FixedCols - 1 do begin
: :       C := Grid.LeftCol + I;
: :       R := OldRow - Grid.FixedRows;
: :       if (R mod 3) = 0 then begin
: :         ORow[0] := OldRow;
: :         ORow[1] := OldRow + 1;
: :         ORow[2] := OldRow + 2;
: :       end
: :       else if (R mod 3) = 1 then begin
: :         ORow[0] := OldRow - 1;
: :         ORow[1] := OldRow;
: :         ORow[2] := OldRow + 1;
: :       end
: :       else begin
: :         ORow[0] := OldRow - 2;
: :         ORow[1] := OldRow - 1;
: :         ORow[2] := OldRow;
: :       end;
: :       Grid.RepaintCell(C, ORow[0]);
: :       Grid.RepaintCell(C, ORow[1]);
: :       Grid.RepaintCell(C, ORow[2]);
: :       R := NewRow - Grid.FixedRows;
: :       if (R mod 3) = 0 then begin
: :         NRow[0] := NewRow;
: :         NRow[1] := NewRow + 1;
: :         NRow[2] := NewRow + 2;
: :       end
: :       else if (R mod 3) = 1 then begin
: :         NRow[0] := NewRow - 1;
: :         NRow[1] := NewRow;
: :         NRow[2] := NewRow + 1;
: :       end
: :       else begin
: :         NRow[0] := NewRow - 2;
: :         NRow[1] := NewRow - 1;
: :         NRow[2] := NewRow;
: :       end;
: :       Grid.RepaintCell(C, NRow[0]);
: :       Grid.RepaintCell(C, NRow[1]);
: :       Grid.RepaintCell(C, NRow[2]);
: :     end;
: :   end;
: : end;
:
: 위 코드는 대충 다음과 같이 변환 되겠네요
:
:
: void __fastcall TfrmTSTS_S_13_003::OnGridRowChanging(TObject *Sender , int  OldRow,int NewRow, bool &Allow)
: {
:     TAdvColumnGrid *Grid;
:     int I,C,T,R;
:     int ORow[3],NRow[3];
: 
:     Grid = (TAdvColumnGrid *)Sender;
:     for( I = 0 ;i<=( Grid->VisibleColCount + Grid->FixedCols - 1);I++)
:     {
:         C = Grid->LeftCol + I;
:         R = OldRow - Grid->FixedRows;
:         if( (R % 3) == 0 ) {
:             ORow[0] = OldRow;
:             ORow[1] = OldRow + 1;
:             ORow[2] = OldRow + 2;
:         }
:         else if( (R % 3) == 1 ) {
:             ORow[0] = OldRow - 1;
:             ORow[1] = OldRow;
:             ORow[2] = OldRow + 1;
:         }
:         else {
:             ORow[0] = OldRow - 2;
:             ORow[1] = OldRow - 1;
:             ORow[2] = OldRow;
:         };
:         Grid->RepaintCell(C, ORow[0]);
:         Grid->RepaintCell(C, ORow[1]); 
:         Grid->RepaintCell(C, ORow[2]); 
:         R = NewRow - Grid->FixedRows; 
:         if( (R % 3) == 0 ) {
:             NRow[0] = NewRow;
:             NRow[1] = NewRow + 1;
:             NRow[2] = NewRow + 2;
:         } 
:         else if( (R % 3) == 1 ) {
:             NRow[0] = NewRow - 1;
:             NRow[1] = NewRow;
:             NRow[2] = NewRow + 1;
:         } 
:         else {
:             NRow[0] = NewRow - 2;
:             NRow[1] = NewRow - 1;
:             NRow[2] = NewRow;
:         }; 
:         Grid->RepaintCell(C, NRow[0]); 
:         Grid->RepaintCell(C, NRow[1]); 
:         Grid->RepaintCell(C, NRow[2]);
:     };
: }
: 

:
: 그럼..

너무 너무 감사합니다..

+ -

관련 글 리스트
58291 C++언어로 어케 바꾸는지좀 알려주세요 hazard 904 2009/08/31
58292     Re:C++언어로 어케 바꾸는지좀 알려주세요 장성호 1045 2009/08/31
58311         Re:Re:C++언어로 어케 바꾸는지좀 알려주세요 한울 820 2009/09/01
58312             Re:Re:Re:C++언어로 어케 바꾸는지좀 알려주세요 장성호 888 2009/09/01
58293         Re:Re:C++언어로 어케 바꾸는지좀 알려주세요 hazard 932 2009/08/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.