wyłączanie obsługi klawiatury

0

bycho

Potrzebuję włączać i wyłączać obsługę klawiatur (tzn żeby program nie reagował na klawiaturę w pewnych procedurach a reagował w innych) Próbowałem to robić przy pomocy KeyPreview ale nie zdaje to egzaminu, Proszę o pomoc

bycho55
[email protected]</delphi>

0

Zależy, czy to w trybie konsoli, czy w okienku, np. w komponencie Memo? Jeśli chodzi o komponenty "do wprowadzania tekstu", to można zablokować w nich klawiaturę zmieniając właściwość ReadOnly na True. np Edit1.ReadOnly := True;
A jeśli to nie chodzi o komponent, to za bardzo nie wiem.
Spotkałem się raz z czymś takim, ale u mnie nie działało...

uses ShellApi;

ShellExecute(Handle, 'open' , 'rundll32', 'keyboard,disable', nil, SW_SHOWNORMAL);

Pojawiał się błąd: "wystąpił błąd podczas ładowania keyboard", "nie można odnaleźć modułu" - czy coś takiego...

0

tak na piechotę:

zadeklaruj zmienną globalną:

czyblokować : boolean = false;

w procedurze OnKeyPress ...

 if czyblokowac then key := #0;

i w procedurach w których ma blokować:

 czyblokowac := true
 ...
 ...
 ...
 czyblokowac := false;

powinno zadziałać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1