DBGrid 에서 GraphicsField 보여주기

2011.12.22 01:25

박병일 조회 수:5791

unit DBPicGrd;

interface

uses
  DBGrids, DB, DBTables, Grids, Windows, Classes, Graphics;

type
  TDBPicGrid = class(TDBGrid)
  protected
    procedure DrawDataCell(const Rect: TRect;
      Field: TField; State: TGridDrawState); override;
  public
    constructor Create(AOwner : TComponent); override;
  published
    property DefaultDrawing default False;
  end;

procedure Register;

implementation


constructor TDBPicGrid.Create(AOwner : TComponent);
begin
  inherited Create(AOwner);
  DefaultDrawing := False;
end;


procedure TDBPicGrid.DrawDataCell(const Rect: TRect; Field: TField;
State: TGridDrawState);
var
  bmp : TBitmap;
begin
  with Canvas do
  begin
    FillRect(Rect);
    if Field is TGraphicField then
        try
          bmp := TBitmap.Create;
          bmp.Assign(Field);
          Draw(Rect.Left, Rect.Top, bmp);
        finally
          bmp.Free;
        end
    else
      TextOut(Rect.Left, Rect.Top, Field.Text);
  end;
end;


procedure Register;
begin
  RegisterComponents('Samples', [TDBPicGrid]);
end;

end.

 
번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 22602
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 21034
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 23088
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 28901
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 30057
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 25404
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 46357
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 182362
23 Delphi XE2에서 맥 애플리케이션을 만들어 보자 박병일 2012.01.18 13078
22 델파이 XE2로 아이폰앱 만들기 박병일 2012.01.18 13077
21 델파이 XE2로 만든 아이폰 앱 - TicTacToe file 박병일 2012.01.17 14016
20 2012년 소프트웨어 트랜드 세미나 박병일 2012.01.12 7629
19 [링크]안드로이드를 위한 데이터 스냅 서버 박병일 2012.01.12 8452
18 VCL Style Util 박병일 2012.01.11 10305
17 32개의 Rad Studio 비디오 튜토리얼 박병일 2012.01.07 3844
16 델파이 에서 안드로이드로 박병일 2012.01.06 6214
15 SendMessage 함수를 이용한 메세지 전송 관리자 2012.01.05 18396
14 델파이 XE2의 Namespace 문제 관리자 2011.12.22 5490
13 RichEdit 에서 라인과 칼럼을 알아내기 박병일 2011.12.22 6747
12 PrintDialog 를 사용하지 않고 프린트 하기 박병일 2011.12.22 6189
11 Image 에 글자 출력하기 박병일 2011.12.22 7318
10 Form에 있는 콤포넌트를ListView 로 나타내기 박병일 2011.12.22 5611
» DBGrid 에서 GraphicsField 보여주기 박병일 2011.12.22 5791
8 DBGrid 에서 Cell 모양의 색깔 바꾸기 박병일 2011.12.22 11310
7 ComboBox에서 Focus 가 올때 자동으로 펼쳐 내리기 박병일 2011.12.22 11473
6 CD-ROM 열고 닫기 박병일 2011.12.22 44787
5 Alt -F4 로 종료 못하게 하기 박병일 2011.12.22 10858
4 Hotfix 2 for C++Builder XE2, Delphi XE2 and RAD Studio XE2 is now available 박병일 2011.12.22 5867