Q&A

  • grid에 바탕화면처럼 그림을 넣고 싶습니다.도와주세요
안녕하세요



저는 델파이를 시작한지 별로 안된 초보입니다.

근데 다른 사람들이 프로그램을 짜놓은걸 보니 그리드안에 (셀안에) 전체적으로 바탕화면처럼 그림을 넣어서 보기도 좋게 만든 것이 있더라구요 해보고 싶구 정말 궁금해서요



셀하나가 아닌 화면 전체가 그리드라고 생각하시고 그안에 바탕이 들어간다면 이해가 금방 가실것 같네요 고수님들 꼭 좀 부탁드립니다. 좋은하루 되시고요 그럼 안녕히

1  COMMENTS
  • Profile
    홍성락 2001.08.17 03:22
    감사 wrote:

    > 안녕하세요

    >

    > 저는 델파이를 시작한지 별로 안된 초보입니다.

    > 근데 다른 사람들이 프로그램을 짜놓은걸 보니 그리드안에 (셀안에) 전체적으로 바탕화면처럼 그림을 넣어서 보기도 좋게 만든 것이 있더라구요 해보고 싶구 정말 궁금해서요

    >

    > 셀하나가 아닌 화면 전체가 그리드라고 생각하시고 그안에 바탕이 들어간다면 이해가 금방 가실것 같네요 고수님들 꼭 좀 부탁드립니다. 좋은하루 되시고요 그럼 안녕히

    //////////////////////////////////////////////////////////////////////

    원하는데로는 다되지않으나 이런식도 있다는것을 참조하세요.

    이미지가 자동으로 Stretch되지 않으며 조금 고쳐야되는데....

    일단 HPImage이라는 TImage를 생성해서 그림파일을 읽고 그것을 이용해봤는데요

    쉽게는 Image컴포넌트 하나 폼에 만든후 그림 일고 테스트 해보세요.

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

    Rect: TRect; State: TGridDrawState);

    var

    ix,iy : integer;

    begin

    for ix := Rect.Left to Rect.Right do begin

    for iy := Rect.Top to Rect.Bottom do begin

    if StringGrid1.Canvas.Pixels[ix,iy] = clWhite then begin

    StringGrid1.Canvas.Pixels[ix,iy] := HPImage.Canvas.Pixels[ix,iy];

    end;

    end;

    end;

    end;