Q&A

  • 스트링그리드에서 비트맵 출력하기
스트링그리드에서 참 거짓을 그림으로 나타내려고 합니다.

스트링그리드의 한 셀에 비트맵을 출력려면 어떻게

하면 되는지 알고 싶습니다. 예전에 어디서 본거 같은데

도무지 찾을수가 없습니다.

아시는 분은 좀 가르쳐주세요.

1  COMMENTS
  • Profile
    하얀까마귀 2000.09.13 14:29
    안녕하세요 하얀까마귀 입니다..



    추석인데...음.. 월요일 저녁이면... 연휴인데 쉬지도 않으시고 일하시는건가??



    제가 아시는분 같은데.. 맞는지 모르겠네요.... (^.^)





    요거는 그냥 image 불러다가 row값에 따라서 홀짝으로 셀에다가 뿌려주게



    되어 있습니다.



    그럼.. 즐거운시간 되세요...



    - 초보 하얀까마귀 -



    추신 : 연휴 잘보네세요...



    procedure TForm1.FormCreate(Sender: TObject);

    begin

    bmpTrue := TBitmap.Create;

    bmpFalse := TBitmap.Create;

    bmpTrue.LoadFromFile('c:a.bmp');

    bmpFalse.LoadFromFile('c:b.bmp');

    end;



    procedure TForm1.FormDestroy(Sender: TObject);

    begin

    bmpTrue.Free;

    bmpFalse.Free;

    end;





    procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;

    Rect: TRect; State: TGridDrawState);

    var

    dRect: TRect;

    begin

    //(Sender as TStringGrid).Canvas.FillRect(Rect);

    if (aCol = 1) and (aRow > 0 ) then

    begin

    dRect := Classes.Rect(0,0,rect.Right - rect.Left, rect.Bottom - rect.Top);

    if ( aRow mod 2) = 1 then

    (Sender as TStringGrid).Canvas.BrushCopy(Rect, bmpTrue, dRect,clBtnFace)

    else (Sender as TStringGrid).Canvas.BrushCopy(Rect, bmpFalse, dRect,clBtnFace)

    end;

    end;