|
이한별 님이 쓰신 글 :
: 음...가르쳐 주세요..
안녕하세요.
StringGrid나, DrawGrid에 보면..OnDrawCell이라는 메쏘드가 있습니다.
이 메쏘드는 셀이 그려질때 발생하는 겁니다.
메쏘드를 보면..
void __fastcall TForm1::DrawGrid1DrawCell(TObject *Sender, int ACol,
int ARow, TRect &Rect, TGridDrawState State)
이런식으로 되어있습니다.
여기서 ACol과 ARow는 그려지는 Cell의 Col,Row입니다.
원하는 위치에 왔을때, 그려주면 되겠네요..
그리고, Rect는 그려질 Cell의 Rect입니다.
State는 gdSelected, gdFocused, gdFixed중에 한 값을 가집니다.
원하는 상태에서 그려주면 됩니다.
예를들어...폼에 StringGrid와, Image컴포넌트가 있다고 합시다.
Image컴포넌트에는 이미지가 로드된 상태구요.
아래와 같이 코딩하면...
Col과 Row가 0이상일때의 모든 셀에 이미지를 그립니다.
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
int ARow, TRect &Rect, TGridDrawState State)
{
if (ACol > 0 && ARow > 0)
{
StringGrid1->Canvas->Draw(Rect.Left,Rect.Top,Image1->Picture->Bitmap);
}
}
그럼..
|