unit uViewClientes; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewContactos, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ActnList, uDADataTable, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, JvComponent, JvFormAutoSize, cxImage, PngImageList, ImgList, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, cxIntlPrintSys3, dxPSCore, dxPScxCommon, cxImageComboBox, cxGridCustomPopupMenu, cxGridPopupMenu, dxPScxGrid6Lnk, ExtCtrls, JvComponentBase, JvBalloonHint, JvHint, uViewFiltroBase, dxPgsDlg, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uDAInterfaces, cxTextEdit; type IViewClientes = interface(IViewContactos) ['{7964E0AB-3075-43E7-94BC-513D80A1C116}'] end; TfrViewClientes = class(TfrViewContactos, IViewClientes) cxGridViewNOMBRE_COMERCIAL: TcxGridDBColumn; cxGridViewBLOQUEADO: TcxGridDBColumn; cxGridViewTiendaWeb: TcxGridDBColumn; procedure cxGridViewICONOGetCellHint(Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord; ACellViewInfo: TcxGridTableDataCellViewInfo; const AMousePos: TPoint; var AHintText: TCaption; var AIsHintMultiLine: Boolean; var AHintTextRect: TRect); procedure cxGridViewCODIGOCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); end; implementation uses uViewGridBase; {$R *.dfm} procedure TfrViewClientes.cxGridViewCODIGOCustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); var R : TRect; begin //inherited; <- No llamamos al padre porque queremos hacer tratamiento especial R := AViewInfo.ContentBounds; ACanvas.FillRect(R); if (cxGridView.DataController.DisplayTexts[AViewInfo.GridRecord.RecordIndex, cxGridViewBLOQUEADO.Index] = '1') then ACanvas.DrawImage(PngImageList, R.Left + 2, R.Top + 2, 1) else ACanvas.DrawImage(PngImageList, R.Left + 2, R.Top + 2, 0); ADone := True; end; procedure TfrViewClientes.cxGridViewICONOGetCellHint( Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord; ACellViewInfo: TcxGridTableDataCellViewInfo; const AMousePos: TPoint; var AHintText: TCaption; var AIsHintMultiLine: Boolean; var AHintTextRect: TRect); begin if (cxGridView.DataController.DisplayTexts[ARecord.Index, cxGridViewBLOQUEADO.Index] = '1') then AHintText := 'Cliente bloqueado'; end; end.