감사합니다!
송신영 님이 쓰신 글 :
: StringGrid의 Property 중에 FixedRows가 있습니다.
: 이것을 1로 설정하면 0번 Row는 RowCount가 스크롤 범위를 벗어나도 항상 맨 윗줄에 고정됩니다.
: FixedRows는 default로 1로 설정되어 있는데 임의로 0으로 변경하신것 같네요..
: 색상을 변경하고 싶으시면 DefaultDrawing을 True인 상태로 그대로 두고
: OnDrawCell 이밴트 함수만 다시 작성해 주시면됩니다.
: 게시판에도 OnDrawCell 함수에 대한 작성 방법이 여럿 있을 겁니다.
: 아래는 간단한 예입니다. 참고하세요.
:
:
: void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect,
: TGridDrawState State)
: {
: if(ARow == 0) {
: #if 1 // Title을 노란색으로.
: StringGrid1->Canvas->Brush->Color = clYellow;
: StringGrid1->Canvas->FillRect(Rect);
: #else // Title에 Theme 적용.
: DrawThemeBackground((void *)(StyleServices()->Theme[teHeader]), StringGrid1->Canvas->Handle, 1, 1, &Rect, NULL);
: #endif
: StringGrid1->Canvas->Brush->Style = bsClear;
: SetTextAlign(StringGrid1->Canvas->Handle, TA_CENTER);
: StringGrid1->Canvas->TextRect(Rect, (Rect.Left + (Rect.Right - Rect.Left)/2), 3, StringGrid1->Cells[ACol][ARow]);
: StringGrid1->Canvas->Brush->Style = bsSolid;
: }
:
: }
:
:
:
:
: 볼랜드초보링 님이 쓰신 글 :
: :
: : 10.1 Berlin 쓰고 있습니다!!
: :
: :
: : 님이 쓰신 글 :
: : : 윈도 시스템 Theme 기능 안쓰고
: : : 멀티 플렛폼 지원한답시고 Style 로 닭짓을 해놔서
: : : 버전에 따라 처리방법이 갈려요
: : :
: : :
: : : 볼랜더초보링 님이 쓰신 글 :
: : : : 안녕하세요. 볼랜더초보링입니다...!
: : : :
: : : : 이번에 작은 개인 프로젝트를 진행중인데, DB에서 String grid에 값을 뿌려주고 그걸 보는 형식입니다.
: : : : 근데, 프로그램은 완성되었는데 디자인쪽에서 조금 수정을 해달라고 한 부분이 있어서 봤더니, 어떻게 해야될 지 감이 잘 안와 포럼고수님들에게 여쭤보려고 왔습니다.
: : : :
: : : : 1. StringGrid가 한 눈에 보일때 총 21줄이 보이는데요. (0~20)
: : : : 22줄부턴 한칸씩 내려가기 때문에 제목열(ARow=0)이 보이지 않습니다.
: : : : 따라서, 22줄이 되었을때(혹은 그 이상이 되었을 때) 제목열 역시 한칸씩 내려서 뿌려주고 싶은데 onDrawcell을 어떻게 이용해야 가능할까요..? (엑셀의 헤더 따라붙는 기능이랑 같습니다..!)
: : : :
: : : :
: : : : 2. 제목의 색을 바꾸고 싶은데, 현재는 Default Draw가 True인 상태입니다. 이유는 셀이 선택되었을 때 그 셀의 행이 선택되어 색칠되는 것을 보려고 한것인데요. 다만, 제목의 색을 바꾸려면 Default Draw을 False로 하고 색을 칠해줘야 하는데, 이렇게 되면 셀의 행이 선택된 영역을 색칠해주는 부분의 코드가 또 필요할 것 같은데 이부분도 전에 도전해봤다가 별 결과를 얻지 못하고 포기한 부분입니다. 이부분의 접근 방법이 궁금합니다 ㅠㅠ
: : : :
: : : : 날이 아직은 춥습니다. 다들 몸 조리 잘하시길!
: : : :
: : : :