Contar objetos da tela

Delphi

25/06/2010

Amigos, bom dia!
Me deu um branco para resolver um pequeno problema.
Preciso contar todos os TMenuItem da tela.
Como fazer ?
Rodrigo Ferreira

Rodrigo Ferreira

Curtidas 0

Respostas

Rodrigo Ferreira

Rodrigo Ferreira

25/06/2010

Parte eu já lembrei como faz utilizando o Components, mas agora eu preciso pegar os captions dos objetos.
GOSTEI 0
Alan Souza

Alan Souza

25/06/2010

de um jeito bem genérico, assim:

function QtdeItens(form: TForm): Integer;
var
  i: Integer;
begin
  Result := 0;
  for i := 0 to Pred(form.ComponentCount) do
    if (form.Components[i] is TMenuItem) then 
      Inc(Result);
end;

GOSTEI 0
Alan Souza

Alan Souza

25/06/2010

pra pegar os captions é só usar cast:

variavelstring := TMenuItem(form.Components[i]).Caption;

GOSTEI 0
Rodrigo Ferreira

Rodrigo Ferreira

25/06/2010

Obrigado Alan!
Acabei de lembrar...

Vim aqui só para avisar que está concluído, mas mesmo assim gratíssimo!
GOSTEI 0
Marco Salles

Marco Salles

25/06/2010

Parte eu já lembrei como faz utilizando o Components, mas agora eu preciso pegar os captions dos objetos.
Para Pegar o Caption de um MaimMenu Vc Faz assim  
var
  I,j: Integer;
begin
with SeuMainMenu do
//varrendo os Items
for I := 0 to pred(Items.Count)  do
  begin
   Showmessage('Item : '+StringReplace(Items[I].Caption,'&','',[]));
   //varrendo os SubItems
   for J := 0 to pred(Items[I].Count)  do
     Showmessage('SubItems : '+Items[I].Items[j].Caption);
  end;
end;

GOSTEI 0
Carlos Mazzi

Carlos Mazzi

25/06/2010

Valeu Rodrigao!
GOSTEI 0
POSTAR