Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Teclas de atalho não funciona (KeyDown)


robinhocne

Pergunta

Eu abro minha telas eu um JvPageList, porém percebi que minhas teclas de atalho não funciona mesmo habilitando a propriedade KeyPreview da tela, abaixo segue o código que faço a chamado pelo atalho e o código que abro as telas no PageList, não sei mais o que fazer para fazer essas teclas de atalhos funcionarem...alguém pode me ajudar ?

  if key = vk_F11 then
    btEncerrarClick(Self);

  if key = vk_F2 then
    btLimparClick(Self);
procedure TfrmPlatinum.NovaPagina(ClasseForm: TFormClass;Tela:String);
var
  Aba    : TJvTabBarItem;
  Pagina : TJvCustomPage;
  Form   : TForm;
begin

 if not PodeAbrirFormulario(ClasseForm, Pagina) then
  begin
    frmPlatinum.JvPageList.ActivePage := Pagina;
    Exit;
  end;

  dtmPlatinum.tblTelas.First;

  while not dtmPlatinum.tblTelas.Eof do
    begin
      if Tela = dtmPlatinum.tblTelastela.AsString then
        begin
          frmPlatinum.JvPageList.ActivePage := Pagina;
          exit;
        end;
        
      dtmPlatinum.tblTelas.Next;
    end;

  Aba := JvTabBar.AddTab('');

  Pagina := TJvStandardPage.Create(Self);
  Pagina.PageList := JvPageList;

  Form := ClasseForm.Create(Pagina);
  with Form do
  begin
    Align       := alClient;
    BorderStyle := bsNone;
    Parent      := Pagina;
  end;

  with Aba do
  begin
    Caption := Form.Caption;
    PopupMenu := Self.PopupMenu;
  end;

 if not dtmPlatinum.tblTelas.Eof then
      dtmPlatinum.tblTelas.Active := true;

  dtmPlatinum.tblTelas.Insert;
  dtmPlatinum.tblTelastela.asString := Tela;
  dtmPlatinum.tblTelas.Post;

  Form.Show;
  JvPageList.ActivePage := Pagina;

end;

function TfrmPlatinum.PodeAbrirFormulario(ClasseForm: TFormClass;
  var Pagina: TJvCustomPage): Boolean;
var
  I: Integer;
begin

  Result := True;
  for I := 0 to JvPageList.PageCount - 1 do
    if JvPageList.Pages[I].Components[0].ClassType = ClasseForm then
    begin
      Pagina := JvPageList.Pages[I];
      Result := (Pagina.Components[0] as TForm).Tag = 0;
      Break;
    end;

end;


function TfrmPlatinum.ObterPagina(Aba: TJvTabBarItem): TJvCustomPage;
begin
  Result := JvPageList.Pages[Aba.Index];
end;

function TfrmPlatinum.ObterAba(Pagina: TJvCustomPage): TJvTabBarItem;
begin
  Result := nil;

  if Assigned(Pagina) then
    Result := JvTabBar.Tabs[Pagina.PageIndex];

end;

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Jhonas a minha versão está desatualizada, mas estou tentando instalar e não consigo, baixei a biblioteca e para primeiramente instalar o jcl foi um sufuco e tirei o IDE experts, pois quando chegava para compilar ele na instalação dava esse erro

Borland Delphi Version 15.0
Copyright (c) 1983,2002 Borland Software Corporation
C:\Program Files (x86)\Borland\Delphi7\Componentes\JVCL347CompleteJCL241-Build4571\jcl\jcl\experts\common\JclOtaUtils.pas(346) Fatal: File not found: 'C:\Program Files (x86)\Borland\Delphi7\lib\Obj\FileCtrl.pas'
Compilation failure
...failed.

tirando ele ai compilou tudo, mas ao tentar instalar a jvcl só de executar o install.bat ele já dá erro que o dcc32.exe parou de funcionar....

já mexi em permissão do windows, compatibilidade, mas não consegui resolver nada....eu uso aqui o windows 8.1 e delphi 7....

Link para o comentário
Compartilhar em outros sites

  • 0
Desculpe a demora, mas estava corrido e nem pude tentar atualizar a biblioteca, mas fiz os seguintes passos... baixei a nova versão do dcc32.exe coloquei no System32 e no SysWOW64, reinicie a maquina e tentei instalar a versão 3.47, porém travei de novo no "requires-jcl=1.105", então copie a pasta da bilblioteca para outra unidade do computador, pelo visto o windows 8.1 por privilégios, mesmo tendo todos na pasta Borland acabava travando algo..., tentei executar e fui barrado com esse erro
...GenerateDefines.pas(46) Fatal: F1026 File not found: 'System.Types.dcu'
então achei no "oraculo"
e editando o arquivo GenerateDefines.pas, na linha 46 e troquei System.Types para Types
Mas ao compilar meu projeto....outro problema....faltou algumas Library, mas colocando manualmente, resolveu a compilação.
Mas por tristeza minha, não funcionou os atalhos.....mesmo atualizando.....o JEDI :(
Link para o comentário
Compartilhar em outros sites

  • 0

pelo jeito não tenho solução :( , poxa tinha feito um esquema legal onde abro as telas em abas, mas infelizmente não consigo usar as teclas de atalhos :unsure:

Não tem algum componente que faça isso ?

o ApplicationEvents até faz, mas ele pega de qualquer tela...tinha que ser especifico daquela tela aberta na aba :( .

Link para o comentário
Compartilhar em outros sites

  • 0

Não tem algum componente que faça isso ?

O TabControl é usado para construir abas isoladas, ou seja, abas não conectadas com páginas. O
componente PageControl, ao invés, é usado para construir um fichário completo, onde as páginas são
componentes TabSheet. O PageControl é capaz de, sozinho, oferecer uma interface completa do
tipo fichário.

TabSet (componente Visual) Cria abas de um Notebook para dar aparência de páginas (Propriedades relevantes)
Tabs, TabIndex , Align

Notebook (Componente Visual) Fornece uma pilha de diversas páginas (Utilizadas em combinação com o componente TabSet) ( Propriedades relevantes ) Pages, PageIndex, ActivePage, Metodo OnClick

Tabbed Notebook (Componente Não Visual) Cria um quadro de diálogo com diversas páginas com abas para agrupar informações ( Propriedades relevantes ) ActivePage, Pages, PageIndex. TabFont, TabsPerRow e Metodo: GetIndexForPage e SetTabFocus

OBS: Atualmente os componentes TabControl e PageControl da página Win32 da Paleta de componentes substitui com vantagens os componentes TabSet, Notebook e TabbedNotebook

exemplos:

http://cc.codegear.com/Item/25053

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...