GARANTIR DESCONTO

Fórum Como desabilitar tecla escolhida no combobox #484172

01/07/2014

0

Olá pessoal, estou há um bom tempo procurando a solução mas não encontro, a minha dúvida é a seguinte: Preciso desabilitar algumas teclas através da escolha do usuário pelo combobox. Sei que posso utilizar o codigo do teclado virtual, mas não estou conseguindo entender como colocar no código, alguém tem ideia de como fazer?

Estava tentando assim:

procedure TForm1.FlatButton1Click(Sender: TObject);
begin
if FlatComboBox1.Items[FlatComboBox1.ItemIndex] = 'Delete' then
ShowMessage('A tecla "Delete" será desabilitada.');
VK_CLEAR = 0; (é aqui que me perco)
end;
end.
Keisse Brandao

Keisse Brandao

Responder

Posts

01/07/2014

Ricardo

Tem que colocar a instrução no evento OnkeyDown ou OnKeyPress e VK_CLEAR := 0, você colocou VK_CLEAR = 0.
Responder

Gostei + 0

01/07/2014

Keisse Brandao

Mas Ricardo, o usuário não vai pressionar a tecla, ele só vai escolher no combobox... Mesmo fazendo assim como vc falou não dá certo, pois aparece a mensagem de erro, "The left side cannot be assigned to"
Responder

Gostei + 0

01/07/2014

Keisse Brandao

Tenho que adicionar alguma biblioteca?
Responder

Gostei + 0

07/07/2014

Thiago Irrazabal

Boa noite, veja se isso resolve teu problema... primeiramente no teu formulário deixe o KeyPreview como TRUE, depois declare essa váriavel no private do teu formulário

vKey: Word;

Sem seguida declare essa procedure aqui no private também:
procedure KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

CTRL + SHIFT + C para criar e coloque esse código dentro:
if Key = vKey then
    Key := 0;

Aqui tu pode fazer outras coisas como mostrar a mensagem quando a tecla for pressionada e dizer que ela está "inativa"...


Agora no OnChange do teu ComboBox tu coloca o seguinte código:
  case ComboBox1.ItemIndex of
    0: vKey := VK_F1;
    1: vKey := VK_F2;
    2: vKey := VK_F3;
    3: vKey := VK_F4;
    4: vKey := VK_F5;
    5: vKey := VK_F6;
  end;

  TForm(Form1).OnKeyDown := KeyDown;

Onde Form1 tu substitui pelo nome do teu formulário, e o case do itemindex tu substitui pelas teclas que tu colocou nos items do combobox, espero que ajude.



Att,
Thiago Irrazabal de Oliveira.
Responder

Gostei + 0

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

Aceitar