GARANTIR DESCONTO

Fórum funcão que retorna uma constante. #291061

08/08/2005

0

Bom Dia.
É Possivel uma função retornar as teclas (vk_f1,vk_f2 etc..) sabendo o itemindex de um combobox.

Por exemplo:

cmbteste.itemindex = 0 a função deverá retornar vk_f1.
cmbteste.itemindex = 1 deverá retornar vk_f2.
e assim por diante...

Tentei um pouco mas o itemindex é inteiro, com case não funcionou.
Por procedimento também não deu certo, só consegui no OnkeyDown do edit.

Mas assim fica complicado porque vou repetir muitas vezes isso.


Obrigado


Lynx

Lynx

Responder

Posts

08/08/2005

Lynx

da certo sim...

Segue abaixo o código

function TfrmPrincipal.AtalhoMenuCadastro() : Integer;
var tecla : integer;
begin
  case FrameMenuPreferencias.cmbAtalhoCadastro.ItemIndex of
    0:tecla:= VK_F1;
    1:tecla:= VK_F2;
    2:tecla:= VK_F3;
    3:tecla:= VK_F4;
    4:tecla:= VK_F5;
    5:tecla:= VK_F6;
    6:tecla:= VK_F7;
    7:tecla:= VK_F8;
    8:tecla:= VK_F9;
  end;
  Result:= tecla;
end;


e no onkeydown do edit
  if key = AtalhoMenuCadastro() then
    ShowMessage(´teste´);


valeu


Responder

Gostei + 0

08/08/2005

Massuda

Não entendi o que você quer fazer... se for para gerar um códigode tecla conforme seleciona num ComboBox, seria algo assim...
var
  Tecla: Word;
...
  Tecla := VK_F1 + CmbTeste.ItemIndex;
...
...mas não entendi o resto do seu post.


Responder

Gostei + 0

08/08/2005

Lynx

Bom Dia massuda, é que eu fiz um menu preferencias para o usuário escolher a tecla de atalho.

A Função ficou assim.
function TfrmPrincipal.AtalhoMenuCadastro(tipo : integer) : Integer;
var tecla : integer;
begin
  if tipo = 1 then
    begin
      case FrameMenuPreferencias.cmbAtalhoCadastro.ItemIndex of
        0:tecla:= VK_F1;
        1:tecla:= VK_F2;
        2:tecla:= VK_F3;
        3:tecla:= VK_F4;
        4:tecla:= VK_F5;
        5:tecla:= VK_F6;
        6:tecla:= VK_F7;
        7:tecla:= VK_F8;
        8:tecla:= VK_F9;
      end;
      Result:= tecla;
    end
  else if tipo = 2 then
    begin
      case FrameMenuPreferencias.cmbAtalhoPesquisa.ItemIndex of
        0:tecla:= VK_F1;
        1:tecla:= VK_F2;
        2:tecla:= VK_F3;
        3:tecla:= VK_F4;
        4:tecla:= VK_F5;
        5:tecla:= VK_F6;
        6:tecla:= VK_F7;
        7:tecla:= VK_F8;
        8:tecla:= VK_F9;
      end;
      Result:= tecla;
    end;
end;



no keydown dos edits eu faço if key = atalho(1 ou 0) , para chamar o form de acordo com a tecla de atalho que ele escolheu.


No menu preferencias, tem para escolher a tecla de F1 até F9, para cadastros e pesquisa, quando o usuário escolhe eu guardo o valor que ele escolheu em um arquivo .INI.


Quando abre o sistema eu leio o arquivo .ini e deixo o combobox na posição que o usuário definiu.

Resumindo

Está tudo funcionando perfeito, e o usuário pode escolher a tecla que ele quiser para abrir um novo form.


valeu :)


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar