|
오래전 질문인데, 저도 똑같은 문제로 고민했었네요.
아래와 같이 하니까 되는 군요.
TStringGrid의 OnDrawCell() 이벤트에서 처리해 주었습니다.
그전에 ImageList1 컴포넌트에 아이콘을 넣어주었었구요.
void __fastcall TMainForm::MainGridDrawCell(TObject *Sender, int ACol,
int ARow, TRect &Rect, TGridDrawState State)
{
if((ACol == 0) && (0 < ARow))
{
Graphics::TIcon* icon= new Graphics::TIcon();
ImageList1->GetIcon(0, icon); //원하는 아이콘을 여기서 골라주면 되겠죠.
MainGrid->Canvas->StretchDraw(Rect, icon); //그림은 그 셀의 원하는 위치에 그려주면 되구요.
delete icon;
}
}
*쓰고 보니 icon을 매번 new로 만드는 것보단, 전역으로 만들어 놓는게 낫겠네요.
문보석 님이 쓰신 글 :
: 안녕하세요... 문보석입니다...
: 지금 짜고 있는 프로그램에서 디스플레이 부분인데 이런식으로 보여주려면 어떤 컴포넌트나
: 방법을 써야 할지 고민입니다...
:
: 번호 제목 작성자 작성시간
:
: [*] 1234 몰라 김서방 12/23
: [#] 2345 알아 이서방 12/24
: :
: :
:
: 대충 이런식이고 번호 앞의 [*][#] 는 해당 아이콘입니다...
: 이렇게 아이콘까지 나와야 하니까 메모 컴포넌트나 리스트 박스는 문제가 있어서
: ListView 를 이용하려고 했으나 위와 같이 칼럼을 나누어 보여주려니 힘들더군요...
: 스트링 그리드 역시 아이콘 보여주기가 안돼잖아요... (돼나요???????)
: 사실 위의 내용은 디비에 저장되어있는 내용인데 실제 테이블에는 위보다 더 많은
: 필드가 존재합니다...
: 그 필드중에서 몇가지만 뽑아서 보여주겠다는 거죠...
: 어떤 식으로 저렇게 아이콘도 보여주고 칼럼을 나눠서 디비의 내용을 뽑아서 보여줘야
: 할까요... 조언을 부탁드립니다...
: 참... 비주얼씨에서는 리스트 콘트롤이라는게 딱!! 제가 원하던 것이더군요...
: 그럼 안녕히...
:
|