Eventos em componentes criados em tempo de execução
Olá pessoal,
Ainda uso o Delphi 7. Desenvolvi um pequeno gerenciador de SQL onde posso construir e rodar minhas instruções SQLs. Quem quiser ver o vídeo da ferramenta já pode ser vista aqui, mas estou querendo melhorá-la e preciso atribui evento a componentes criados em tempo de execução. Estes componentes são criados dentro de TabSheets que também são criados em tempo de execução. Um desses eventos segue descrito abaixo. Sei que vou precisar fazer grandes mudanças na ferramenta, mas preciso torná-la melhor.
>
procedure TFrmMenuPrincipal.CriarNovaAba;
Var
P : Integer;
abas : TAdvTabSheet;
pMemoSQL : TAdvMemo;begin
P:=AdvPageControl2.PageCount + 1;
abas:=TAdvTabSheet.Create(AdvPageControl2);
abas.Caption:='SQL ' + IntToStr(P);
abas.Name:='tabSQL' + IntToStr(P);
abas.AdvPageControl:=AdvPageControl2;
pMemoSQL:=TAdvMemo.Create(Self);
pMemoSQL.Parent:=abas;
pMemoSQL.Lines.Clear;
pMemoSQL.Name:='TxtSQL' + IntToStr(P);
pMemoSQL.Align:=alClient;
pMemoSQL.SyntaxStyles:=AdvSQLMemoStyler1;
pMemoSQL.AutoExpand:=False;
end;
O que estou precisando? Preciso inserir o código abaixo no evento OnKeyDown desses Memos:
>
procedure TFrmMenuPrincipal.TxtSQLKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);begin
If (Key = VK_SPACE) AND (GetKeyState(VK_CONTROL) < 0) Then
Begin
SalvarSQLAtual;
Application.CreateForm(TFrmAutocompletar, FrmAutocompletar);
FrmAutocompletar.pMemo:=TxtSQL;
FrmAutocompletar.pMStyler:=AdvSQLMemoStyler1;
FrmAutocompletar.p1:=TxtSQL.SelEndY;
FrmAutocompletar.p2:=TxtSQL.SelEndX;
FrmAutocompletar.ShowModal;
End
Else
If Key = VK_F3 Then
Begin
If Trim(TxtSQL.Selection) <> '' Then
GuardarSQLTemporaria;
End;
end;
Alguém poderia me ajudar?
Grato,
Ilano.
Discussão (4)
Carregando comentários...