Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Minarini

? Codigo do Principal Servir para os outros forms..?

Recommended Posts

Minha pergunta é a seguinte: tenho um form principal, nele tenho um codigo no evento onkeydown que abre a calculadora se eu apertar F10 ok. No principal funciona mas ao abrir um form em modal não. Então, eu quero que mesmo ao abrir um outro formulario o codigo do principal sirva para toda a aplicação, onde eu estiver na minha aplicação se eu apertar f10 executa algo tem como?

 

eu ja vi a muito tempo um codigo que colocava no principal de que quando precionava enter servia como tab mas não achei ele pra eu poder tirar uma ideia se eu achasse seria muito bom

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Minarini..

 

Seguinte se eu entendi..você tem no form principal um código que chama uma calculadora..

E quer poder chamar esta calculadora independente de qual form você estiver..

 

Seguinte..você vai ter que adicionar a unit do formulário que você quer que chame a rotina da calculadora ao formulário principal.

 

Ou seja, abra o formulário onde a calculadora deveria aparecer e pressione alt+F11 aí seleciona o formulário principal

depois disso você vai no onkeydown e digite

 

nomedoformulárioprincipalondeestaarotinadachamadacalculadora.nomedaprocedure;

 

Execute e teste..

 

Qualquer erro poste aí..

 

beleza

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você quer é isso aqui:

 

...
type
  TForm1 = class(TForm)
...
	procedure FormCreate(Sender: TObject);
  private
	{ Private declarations }
	procedure OnMessageOwn(var Msg: TMsg; var Handled: Boolean);
  public
	{ Public declarations }
  end;

var
  Form1: TMainForm;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
   Application.OnMessage := OnMessageOwn;
end;

procedure TForm1.OnMessageOwn(var Msg: TMsg; var Handled: Boolean);
begin
   if Msg.Message = WM_KEYDOWN then
   if Msg.wParam = VK_F10 then
   WinExec('calc.exe', SW_SHOWNORMAL);
end;

end.

Espero ter ajudado. Caso tenha alguma dúvida no código, é só perguntar.

 

t+!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.