Fórum Novo objeto #221717
23/03/2004
0
Oi, pessoal. Estou criando um objeto chamado objConsulta e neste objeto uso crio via comando o componente TDBGrid da seguinte forma:
...
TDbgConsulta = class(TDBGrid)
private
FOnKeyPress: TNotifyEvent;
FOnEnter: TNotifyEvent;
FOnExit: TNotifyEvent;
protected
procedure DOKeyPress(Sender: TObject; var Key: Char); dynamic;
procedure DOEnter; override;
procedure DOExit ; override;
public
procedure TitleClick(Column: TColumn); override;
published
property OnKeyPress : TNotifyEvent read FOnKeyPress write FOnKeyPress;
property OnEnter : TNotifyEvent read FOnEnter write FOnEnter;
property OnExit : TNotifyEvent read FOnExit write FOnExit;
end;
...
os eventos OnEnter, OnExit e a procedure TitleClick estão funcionado, beleza, porem o evento OnKeyPress não funciona. Agradeço a que puder me ajudar.
...
procedure TDbgConsulta.DOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
// Aqui eu tenho o corpo do meu processo.
end;
end;
procedure TDbgConsulta.DoEnter;
begin
Color := vCorEnter;
if Assigned(FOnEnter) then
FOnEnter(Self);
end;
procedure TDbgConsulta.DoExit;
begin
Color := clWindow;
if Assigned(FOnExit) then
FOnExit(Self);
end;
...
TDbgConsulta = class(TDBGrid)
private
FOnKeyPress: TNotifyEvent;
FOnEnter: TNotifyEvent;
FOnExit: TNotifyEvent;
protected
procedure DOKeyPress(Sender: TObject; var Key: Char); dynamic;
procedure DOEnter; override;
procedure DOExit ; override;
public
procedure TitleClick(Column: TColumn); override;
published
property OnKeyPress : TNotifyEvent read FOnKeyPress write FOnKeyPress;
property OnEnter : TNotifyEvent read FOnEnter write FOnEnter;
property OnExit : TNotifyEvent read FOnExit write FOnExit;
end;
...
os eventos OnEnter, OnExit e a procedure TitleClick estão funcionado, beleza, porem o evento OnKeyPress não funciona. Agradeço a que puder me ajudar.
...
procedure TDbgConsulta.DOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
// Aqui eu tenho o corpo do meu processo.
end;
end;
procedure TDbgConsulta.DoEnter;
begin
Color := vCorEnter;
if Assigned(FOnEnter) then
FOnEnter(Self);
end;
procedure TDbgConsulta.DoExit;
begin
Color := clWindow;
if Assigned(FOnExit) then
FOnExit(Self);
end;
Gomes
Curtir tópico
+ 0
Responder
Posts
23/03/2004
Paulo_amorim
Olá
Tente explicar melhor o que pretende fazer no DoKeyPress
Ele nao funciona como? qe erro aparece?
Tente explicar melhor o que pretende fazer no DoKeyPress
Ele nao funciona como? qe erro aparece?
Responder
Gostei + 0
23/03/2004
Beppe
Vc quer sobrepor o DoKeyPress Tah aparecendo uma mensagem DoKeyPress hides inherited ... neh? Isto pq vc deve usar a keyword override, e naum dynamic.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)