Главная страница | назад





Article #19439: Creating a custom TInplaceEdit for TDBGrid

 Question and Answer Database
FAQ4439D.txt — Creating a custom TInplaceEdit for TDBGrid
Category :Database/VCL
Platform :All Windows
Product :All32Bit,
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.
4/1/99 11:32:33 AM

Last Modified: 01-SEP-99