DBGrid 에서 GraphicsField 보여주기

2011.12.22 01:25

박병일 조회 수:5778

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 17902
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 16248
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 18895
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 24492
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 25867
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 21236
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 41823
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 177116
23 오래된 C++ 프로젝트 마이그레이션 하기 관리자 2019.09.05 287
22 이 달의 기술자료 - 2020년 03월 file 험프리 2020.02.28 283
21 [팁] 10.3.3 AAB에서 로컬서비스 실행시 문제점 해결 방법 험프리 2020.01.02 280
20 [무료 온라인 세미나] 새로운 RAD Studio 10 시애틀: 윈도우 10 혜택을 누리세요! 관리자 2015.09.11 279
19 [UX Summit 요약 / 사례연구] 모바일은 두 번째: 어떨 때 데스크톱에 우선 집중하는가? 관리자 2020.10.22 278
18 [코드레이지2019] 파이어몽키에서 사용자 정의 Message Box 디자인하기 김원경 2020.01.23 277
17 [업데이트][패치][10.3.3] C++빌더 10.3.3 스레딩 및 TLS 패치 험프리 2020.02.03 276
16 이 달의 기술자료 - 2020년 09월 file 험프리 2020.08.27 273
15 [10.3 리오][업데이트 2] RAD서버 마법사 & 배포 기능 업그레이드 관리자 2019.09.10 273
14 [코드레이지11] Debug faster. Debug smarter - Primož Gabrijelčič 험프리 2016.11.22 272
13 [업데이트][패치][10.3.3] Midas와 델파이 Open Array 패치 험프리 2020.02.28 271
12 [발표자료] 20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio 관리자 2020.07.22 268
11 이 달의 기술자료 - 2020년 02월 험프리 2020.01.31 268
10 [UX Summit 요약] 데스크탑용 UX 구축/최적화 전략(Strategies for building and optimizing the desktop UX) 관리자 2020.10.21 258
9 코드레이지 2019 재생목록 file 험프리 2019.12.26 257
8 TJumpList 컴포넌트 사용하기 file 김원경 2020.01.30 253
7 [업데이트][패치][10.3.3] RAD 스튜디오 10.3.3 아이폰 XS와 XR 디버깅 패치 험프리 2020.01.23 253
6 [UX Summit 요약] 훌륭한 UI에 적용되는 과학적 원리 (Science of Great UI) 관리자 2020.10.19 251
5 [엠바카데로 Feature Friday][개발팁] VCL 멀티-컬럼 리스트박스 관리자 2019.06.28 240
4 [발표자료] 20200130 실제 사례로 살펴보는 소프트웨어 현대화 방안 file 관리자 2020.01.31 233