Dúvida Caption Delphi XE8
09/07/2018
0
Eu tenho um único Form e dentro dele eu tenho 2 Grids:
- Uma Chamada ''''Eventos Iniciais'''' e a outra chamada ''''Eventos de Tabela''''
o que esta acontecendo é o seguinte:
Quando eu clico para me mostrar apenas a grid dos eventos iniciais, o Caption do form aparece como ''''Eventos Iniciais'''', mas quando eu clico para mostrar a grid de eventos de tabela, o Caption do Form continua mostrando ''''Eventos Iniciais'''', mas eu estou precisando que no eventos de tabela apareça no Caption do Form ''''Eventos de Tabela''''
Segue o código que estou usando:
procedure TfrmEventosIniciaiseSocial.FormShow(Sender: TObject);
begin
inherited;
if Self.CategoriaEvento = ceIniciais then
begin
Self.Caption := ''''Eventos Iniciais'''';
LimparBaseReceita.Visible := True;
end
else if Self.CategoriaEvento = ceTabelas then
begin
Self.Caption := ''''Eventos de Tabela'''';
LimparBaseReceita.Visible := False;
No modo Debug ele altera corretamente, porém lá no Formulário continua aparecendo apenas ''''Eventos Iniciais''''
Já tentei trocar o Self pelo name do Form também, mas mesmo assim continua a mesma coisa.
Se alguem souber me de uma ajuda nisso por favor. Obrigado
Senac Periodicals
Posts
09/07/2018
Raimundo Pereira
Talvez o problema seja pq está capturando no Onshow.
Veja, criei esta função;
Function Tform1.Evento_Selecionado(CategoriaEvento:string):string;
begin
inherited;
if CategoriaEvento = 'ceIniciais' then
begin
Result := 'Eventos Iniciais';
//LimparBaseReceita.Visible := True;
end
else if CategoriaEvento = 'ceTabelas' then
begin
Result := 'Eventos de Tabela';
//LimparBaseReceita.Visible := False;
end;
self.Caption:=Result;
end;
No cellclick de cada grid eu chamo a função:
Meu grid ceIniciais
procedure TForm1.ceIniciaisCellClick(Column: TColumn);
begin
Evento_Selecionado(Pchar(ActiveControl.Name));
end;
procedure TForm1.ceTabelasCellClick(Column: TColumn);
begin
Evento_Selecionado(Pchar(ActiveControl.Name));
end;
Ele captura o nome do componente clicado e joga no result da function que no final da mesma atualiza o caption do form
self.Caption:=Result;
09/07/2018
Senac Periodicals
09/07/2018
Senac Periodicals
TCategoriaEventoeSocial = (ceIniciais = 1, ceTabelas = 2, cePeriodicos = 3, ceNaoPeriodicos = 4);
10/07/2018
Raimundo Pereira
Todos ceIniciais = 1, ceTabelas = 2, cePeriodicos = 3, ceNaoPeriodicos = 4, não são grids?
Basta chamar a fuction
Evento_Selecionado(Pchar(ActiveControl.Name));
Em cada cellclick
A função vai capturar o nome do grid e transformar no caption do form.
Esta função você pode usar para qq bjeto, chamar a função no onclik .
Clique aqui para fazer login e interagir na Comunidade :)