Mega Code Archive

 
Categories / Delphi / ADO Database
 

Creating a custom tinplaceedit for tdbgrid

Question: How can I customize the cell editor for a TDBGrid? Answer: You should create a custom TInPlaceEdit for use within Grids. Following is an example component: unit CustomEditorGrid; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids; type TMyInplaceEdit = class(TInplaceEdit) public procedure DblClick; override; end; TCustomEditorGrid = class(TDBGrid) private { Private declarations } protected { Protected declarations } function CreateEditor: TInplaceEdit; override; public { Public declarations } published { Published declarations } end; procedure Register; implementation const SomeDefaultValue = 'Default Value'; procedure Register; begin RegisterComponents('Custom', [TCustomEditorGrid]); end; { TCustomEditorGrid } function TCustomEditorGrid.CreateEditor: TInplaceEdit; begin Result := TMyInplaceEdit.Create(Self); end; { TMyInplaceEdit } procedure TMyInplaceEdit.DblClick; begin inherited DblClick; if (Text = '') then Text := SomeDefaultValue; end; end.