Fórum Criacao de Componentes - Default propriedade #260433
29/11/2004
0
estou tentando montar um componente com algumas funcoes que sempre utilizo.. O componente eh derivado do TStringGrid. Gostaria de saber como modifico o default da propriedade ColCount de maneira que qdo inserir o componente o padrao seja sempre ColCount = 1??
Segue o inicio do codigo do componente,
valew galera.
Gustavo
unit StringGridAcesso;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids,Mask;
type
TCellsType = (ctNone, ctInteger, ctNumeric, ctDate, ctString);
TStringGridColItens = record
ColType : TCellsType;
MaxLen : Integer;
MaskEdit : String;
CanSelect : Boolean;
isRequered : Boolean;
end;
TStringGridColDetail = array [0..9999] of TStringGridColItens;
TStringGridAcesso = class(TStringGrid)
private
{ Private declarations }
LastCol,LastRow : Integer;
btBloqRow : Boolean;
function ValidaCell(ACol, ARow:Integer) : boolean; virtual;
function RowIsNull(nrRow:Integer):Boolean;
Function UMaskEdit (EditMask:String):String;
procedure DelRow(var delRow:Integer);
function ValidaRow(aRow:Integer; var aColErr: integer) : boolean;
protected
{ Protected declarations }
procedure KeyPress(var Key: Char); override;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure DoEnter; override;
procedure DoExit; override;
function GetEditMask(ACol, ARow: Longint): string; override;
function SelectCell(ACol, ARow: Longint): Boolean; override;
public
{ Public declarations }
ColDetails: TStringGridColDetail;
constructor Create (AOwner : TComponent); Override;
destructor Destroy; override;
published
{ Published declarations }
end;
procedure Register;
implementation
Gustavo M
Curtir tópico
+ 0Posts
29/11/2004
Tinorj
type
TNovoComponente = class(TComponent)
...
constructor Create;
{ Você deverá colocar os mesmos parametos da class ancestral }
...
constructor Create;
begin
inherited;
{... Aqui você coloca os valores default ...}
end;
...Espero ter ajudado.
Gostei + 0
29/11/2004
Gustavo M
Gostei + 0
30/11/2004
Michaell
Colega,
No construtor do seu Componente descendente de ´TStringGrid´ sete o valor ´default´ da propriedade ColCount.
[]´s
Gostei + 0
30/11/2004
Paulo_amorim
O que o Michael quis dizer deve ser algo como:
interface constructor Create(AOwner: TComponent); override; (...) implementation constructor Create(AOwner: TComponent); begin inherited Create(AOwner); ColCount := 1; end;
Assim ele irá pegar a propriedade ColCount do seu componente e alterá-la para 1...
Espero que ajude
Até+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)