Fórum Verificar se um determinado SpeedButton já tem no form #398932
10/04/2011
0
É Assim no meu formulario principal eu tenho alguns TabControl com varios botões que são os acessos ao formulários....e do meu lado direto da tela deixo um espaço para criar um ShortCut do menu, mas ai ná hora de criar eu faço para aquele shortcut pegar o icone que está no botão de atalho dessa maneira abaixo:
TSpeedButton(FindComponent('TF' +
Dtm.QryAtalhos.FieldByName('AtlFormulario').AsString)).Glyph :=
TSpeedButton(FindComponent(Dtm.QryAtalhos.FieldByName('AtlFormulario').AsString)).Glyph;
Mas ai tem um porém as vezes eu não tenho um botão de menu no tabControl, mas tenho o atalho, porém quando vou pegar a imagem dele como não tem ele dá erro
for test := 0 to ComponentCount -1 do
begin
if
TSpeedButton(FindComponent(Dtm.QryAtalhos.FieldByName('AtlFormulario').AsString)).Name
= ( Components [test] as TSpeedButton ).Name then
begin
TSpeedButton(FindComponent('TF' +
Dtm.QryAtalhos.FieldByName('AtlFormulario').AsString)).Glyph :=
TSpeedButton(FindComponent(Dtm.QryAtalhos.FieldByName('AtlFormulario').AsString)).Glyph;
end;
end;
Então ná hora de criar os shortCut em tempo de execução.....eu queria que verificasse se tem o botão do menu para pegar a imagem dele.....tipo verificar se o
TSpeedButton(FindComponent(Dtm.QryAtalhos.FieldByName('AtlFormulario').AsString)).Name
tem para pegar a imagem dele e colocar no
TSpeedButton(FindComponent('TF' + Dtm.QryAtalhos.FieldByName('AtlFormulario').AsString)).Name
Então como eu verifico se um speedbutton existe ?
Robson Morais
Curtir tópico
+ 0Posts
10/04/2011
Leandro
verifique o post ver se o botao existe.
Gostei + 0
10/04/2011
Robson Morais
Gostei + 0
11/04/2011
Wilson Junior
var
Componente: TComponent;
begin
for test := 0 to ComponentCount -1 do
begin
Componente := FindComponent( Dtm.QryAtalhos.FieldByName('AtlFormulario').AsString );
if ( Componente <> nil )
and ( Components[test] is TSpeedButton )
and ( TSpeedButton(Componente).Name = TSpeedButton(Components[test]).Name ) then
TSpeedButton(FindComponent('TF' + Dtm.QryAtalhos.FieldByName('AtlFormulario').AsString)).Glyph := TSpeedButton(Componente).Glyph
;
end;
end;
Espero ter colaborado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)