اداخال ايقونتين في dbgrid حسب شرطين true or false
#2
PHP كود :
type
  TDBGrid 
= Class(DBGrids.TDBGrid)
 
 private
    FIcon
:TIcon;
 
   FImageList: TImageList;
 
   procedure SetImageList(const Value: TImageList);
 
   Destructor Destroy;override;
 
 published
    procedure DrawCell
(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); override;
 
   Property Imagelist: TImageList read FImageList Write SetImageList;
 
 End;

 
 TForm2 = class(TForm)
 
   .......

implementation


{$R *.dfm}
{ 
TDBGrid }

destructor TDBGrid.Destroy;
begin
  if Assigned
(FIcon) then FIcon.Free;
 
 inherited;
end;

procedure TDBGrid.SetImageList(const Value: TImageList);
begin
  FImageList 
:= Value;
 
 FreeAndNil(FIcon);
 
 if Assigned(FImageList) then
    begin
    FIcon 
:= TIcon.Create;
 
   FImageList.GetIcon(0, FIcon);
 
   end;
end;

procedure TDBGrid.DrawCell(ACol, ARow: Integer; ARect: TRect; AState: TGridDrawState);
var
 
 L_Col: Integer;
begin
  if dgIndicator in Options then
    L_Col 
:= ACol - 1
  else
    L_Col 
:= ACol;

 
 inherited;
 
 if Assigned(FIcon) and (L_Col > -1) and (ARow = 0) and (Columns[L_Col].FieldName = 'ID') and (gdFixed in AState) then
  begin
      Canvas
.Draw(ARect.Right - 18, ARect.Bottom - 18, FIcon);
 
     //FImagelist.Draw(Canvas,ARect.Right - 18, ARect.Bottom - 18,0); // would cause more flickering
 
 end;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  DBGrid1
.DoubleBuffered := true;
 
 DBGrid1.Imagelist := ImageList1;
 
 ReportMemoryLeaksOnShutDown := true;
end; 
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 2 users say قال شكرا ل Delphi4Us على المشاركة المفيدة
  • Med-01, h-farid
الرد


الردود في هذا الموضوع
RE: اداخال ايقونتين في dbgrid حسب شرطين true or false - بواسطة Delphi4Us - 21-06-2018, 01:17 AM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم