Verificar se um determinado SpeedButton já tem no form
Pessoal estou com um problema, que já me tirou uma semana de atraso.......
É 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:
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
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 ?
É 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
Curtidas 0
Respostas
Leandro
10/04/2011
hahahaha acabei de fazer um rolo, ao inves de te responder postei um novo intem
verifique o post ver se o botao existe.
verifique o post ver se o botao existe.
GOSTEI 0
Robson Morais
10/04/2011
sobe
GOSTEI 0
Wilson Junior
10/04/2011
Veja se isto lhe ajuda
Espero ter colaborado.
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