Q&A

  • stringgird 에 이미지를 넣을 수 있습니까?


값을 보여줄때



stringgird1.cells[1,1] := '222';



위와 같이 하지 않습니까?



그런데, bmp 파일을 보여줄 수 있는 방법은 없습니까?



텍스트 밖에 안되는 것인지... 궁금합니다..







1  COMMENTS
  • Profile
    DelChobo 2000.04.18 03:27
    이수정 wrote:

    >

    > 값을 보여줄때

    >

    > stringgird1.cells[1,1] := '222';

    >

    > 위와 같이 하지 않습니까?

    >

    > 그런데, bmp 파일을 보여줄 수 있는 방법은 없습니까?

    >

    > 텍스트 밖에 안되는 것인지... 궁금합니다..

    >

    >

    >



    다음과 같이 OnDrawCell이벤트를 사용해서 나타낼수 있습니다.



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

    Rect: TRect; State: TGridDrawState);

    var

    Rect1, Rect2 : TRect;

    begin

    if (ACol = 2) and (ARow = 2) then begin // 2행 2열일때

    Rect1 := Classes.Rect(0,0,Image1.Picture.Bitmap.Width,Image1.Picture.Bitmap.Height);

    // 이미지가 그려질 Rect 영역설정(원할경우 위치를 조정)

    Rect2.Left := Rect.Left;

    Rect2.Top := Rect.Top;

    Rect2.Right := Rect.Left + Rect1.Right;

    Rect2.Bottom := Rect.Top + Rect1.Bottom;

    // 설정된 영역에 이미지를 그림

    (Sender as TStringGrid).Canvas.BrushCopy(Rect2, Image1.Picture.Bitmap, Rect1, clOlive);

    end;

    end;



    좋은 코딩 하세요 ~~