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
[46935] Re:스트링그리드에서 텍스트가 화면에서 사라지는 이유
장성호 [nasilso] 1007 읽음    2006-10-31 17:37
원래 그런건데요...
canvas에 직접 그려줬으니까 다른윈도우에 가렸다거나 어떤이유에서건 지워졌으면
paint이벤트때 다시 그려줘야 됩니다.

Sgrid->Cells[row][col[]="adsf"; //==> 이런식으로 설정하면
StringGrid control이 알아서 paint이벤트에 다시 그려주는거구요
님께서는 직접 그렸으면 직접 paint이벤트에 다시 그려줘야 되죠

StringGrid 의 DrawCell 이벤트에
row와 col을 확인한후 다시 아래코드와 똑같이 코딩하시면 됩니다.


void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
    if(ARow==0 && ACol==1)
    {
        pCanvas->Brush->Color = 0x00A04A44;
        pCanvas->Font->Color = clWhite;
        pCanvas->FillRect(Rect);
        pCanvas->TextOut(Rect.left, Rect.top, "동해물과");//
        pCanvas->TextOut(Rect.left, Rect.top + 15, "백두산이");//))
    }
}
//---------------------------------------------------------------------------
뭐 이런식으로요....


pili 님이 쓰신 글 :
: 스트링 그리드에서 동적으로 텍스트를 출력합니다.. 즉 db에서 값을 읽어와 출력을 하는데 텍스트길이가
:
: 길어 2줄로 출력 하려고 합니다.
:
: 아래와 같이 사용자 함수에
: TRect pRect = suiStringGrid1->CellRect(1, 0);
:
: pCanvas->Brush->Color = 0x00A04A44;
: pCanvas->Font->Color = clWhite;
: pCanvas->FillRect(pRect);
:
: pCanvas->TextOut(pRect.left, pRect.top, "동해물과");//
: pCanvas->TextOut(pRect.left, pRect.top + 15, "백두산이");//))
:
: 코드를 위와 같이 해놨습니다. 그런데 폼을 가렸다 띄우면 해당 텍스트가 사라져 버리네요...
:
: 별 문제 없을 것 같은데... ㅡ.ㅡ++  답변좀 부탁드릴께요..
:
: 그럼 다들 수고하세요.

+ -

관련 글 리스트
46934 스트링그리드에서 텍스트가 화면에서 사라지는 이유 pili 891 2006/10/31
46935     Re:스트링그리드에서 텍스트가 화면에서 사라지는 이유 장성호 1007 2006/10/31
46937         Re:Re:스트링그리드에서 텍스트가 화면에서 사라지는 이유 pili 859 2006/10/31
46938             Re:Re:Re:스트링그리드에서 텍스트가 화면에서 사라지는 이유 유영인 Cuperido 957 2006/10/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.