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
[38343] [질문]StringGrid..에서 각 셀 표시하기..
초보 [carl] 922 읽음    2004-12-10 21:09
void __fastcall TForm1::StringGrid1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  StringGrid1->MouseToCell(X,Y,iCol,iRow);
  if(Shift.Contains(ssLeft)) {
    MarkBlock[iRow][iCol] = 1;   //--------저장부분  1.
    preCol = iCol;
    preRow = iRow;
  }
}
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
    if(State.Contains(gdSelected)) {
     for(int row = 0; row < StringGrid1->RowCount; row++) {
         for(int col = 0; col < StringGrid1->ColCount; col++) {
           if(MarkBlock[row][col] == 1) {
             StringGrid1->Canvas->Brush->Color = clBackground;
             StringGrid1->Canvas->FillRect(Rect);
           }
         }
       }
    }
    if(State.Contains(gdFocused))
    StringGrid1->Canvas->DrawFocusRect(Rect);
}
위에서 마우스 버튼을 클릭할때마다 크릭되는 부분은 파란색으로 표시하고
저장부분  1.와 같이 저장합니다.
그러나, 하번이나 또는 맨 마지막에 표현한 부분만 표시되고 그 전에 표시한 부분은
저장부분  1의 배열에는 저장되지만 눈으로는 표시할수 없습니다,
어떻게 하면 크릭한 셀이 누적되게 표시하고, 또  표시한 부분을 또 원 상태로 바꿀 수 있을까여?
잘 모르겠습니다.

+ -

관련 글 리스트
38343 [질문]StringGrid..에서 각 셀 표시하기.. 초보 922 2004/12/10
38348     Re:[질문]StringGrid..에서 각 셀 표시하기.. smleelms 1051 2004/12/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.