Auxilio na rotina abaixo ...
Bom dia moçada, estou com duvida e com alguns problemas que sei que voces podem me ajudar, tenho sistema desenvolvido em d7 e utilizo um form padrao para cadastro, consulta, etc ... O form principal é do tipo ´fsMDIForm´ e os forms padroes sao ´fsMDIChild´. Antes de abrir o form principal aparece uma tela de login de estilo ´fsNormal´. Agora vem a duvida, tenho o seguinte codigo abaixo que é na verdade uma forma que criei de chamar um form sem usar o mouse:
[b:86aee44b0e]var
Atalho: string;
k,
i : integer;
begin
if Key <> #13 then
StatusBar1.Panels.Items[3].Text := StatusBar1.Panels.Items[3].Text + Key
else
begin
Atalho := StatusBar1.Panels.Items[3].Text;
for i:=0 to MainMenu1.Items.Count - 1 do
for k:=0 to MainMenu1.Items[i].Count - 1 do
begin
if MainMenu1.Items[i].Items[k].Tag <> 0 then
if (IntToStr(MainMenu1.Items[i].Items[k].Tag)) = Atalho then
MainMenu1.Items[i].Items[k].Click;
end;
StatusBar1.Panels.Items[3].CleanupInstance;
end
[/b:86aee44b0e]
Quando eu entro a primeira vez não consigo habiltar o atalho, ou seja quando digito algum numero nao aparece no status bar o que foi digitado, mas se de dentro do sistema eu chamar a tela de login e logar novamente ai funciona, porem funciona uma unica vez e so volta a funcionar quando eu logar novamente no sistema, dai vai a pergunta consigo ter um controle de qual tecla estou teclando nesse estilo de formulario? ... Antes que alguem me pergunte ja coloquei a propriedade KeyPreview para True.
Existe uma forma de eu controlar em outro evento que não o OnKeyPress do Formulário principal?
Alguem sabe por quê acontece isso?
Agradeço desde já.
[b:86aee44b0e]var
Atalho: string;
k,
i : integer;
begin
if Key <> #13 then
StatusBar1.Panels.Items[3].Text := StatusBar1.Panels.Items[3].Text + Key
else
begin
Atalho := StatusBar1.Panels.Items[3].Text;
for i:=0 to MainMenu1.Items.Count - 1 do
for k:=0 to MainMenu1.Items[i].Count - 1 do
begin
if MainMenu1.Items[i].Items[k].Tag <> 0 then
if (IntToStr(MainMenu1.Items[i].Items[k].Tag)) = Atalho then
MainMenu1.Items[i].Items[k].Click;
end;
StatusBar1.Panels.Items[3].CleanupInstance;
end
[/b:86aee44b0e]
Quando eu entro a primeira vez não consigo habiltar o atalho, ou seja quando digito algum numero nao aparece no status bar o que foi digitado, mas se de dentro do sistema eu chamar a tela de login e logar novamente ai funciona, porem funciona uma unica vez e so volta a funcionar quando eu logar novamente no sistema, dai vai a pergunta consigo ter um controle de qual tecla estou teclando nesse estilo de formulario? ... Antes que alguem me pergunte ja coloquei a propriedade KeyPreview para True.
Existe uma forma de eu controlar em outro evento que não o OnKeyPress do Formulário principal?
Alguem sabe por quê acontece isso?
Agradeço desde já.
Luciano Andrade
Curtidas 0