Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

tastatura - disable - kako?

[es] :: Pascal / Delphi / Kylix :: tastatura - disable - kako?

[ Pregleda: 4035 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gygy
Dragan Grbic

Član broj: 7861
Poruke: 205
*.flashnet.co.yu.



Profil

icon tastatura - disable - kako?27.12.2004. u 11:26 - pre 235 meseci
Treba mi sledece:
kako da iskljucim (onesposobim) celu tastaturu osim numericke tj samo da rade brojevi i taster "enter"?
To mi je potrebno za jednu form-u, a kad se zatvori ta form-a da bude aktivna cela tastatura?
GYGY
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

Član broj: 35478
Poruke: 617
*.zaslon-telecom.si.



Profil

icon Re: tastatura - disable - kako?27.12.2004. u 12:20 - pre 235 meseci
Mozes da na formi property KeyPreview postvis na true, pa napravis recimo ovakav kood za OnKeyDown/OnKeyPress:

Code:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  bNum := false;
  case key of
    VK_NUMPAD0, VK_NUMPAD1, VK_NUMPAD2, 
    VK_NUMPAD3, VK_NUMPAD4, VK_NUMPAD5, 
    VK_NUMPAD6, VK_NUMPAD7, VK_NUMPAD8, 
    VK_NUMPAD9, VK_RETURN:
      bnum := true;
  end;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not bNum then key := chr(0);
end;


jasno, bNum je boolean promenjiva deklarisana 'negde gore'.

u idealnom svetu bi trebalo da radi i ovo:

Code:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  bNum := false;
  case key of
    VK_NUMPAD0, VK_NUMPAD1, VK_NUMPAD2, 
    VK_NUMPAD3, VK_NUMPAD4, VK_NUMPAD5, 
    VK_NUMPAD6, VK_NUMPAD7, VK_NUMPAD8, 
    VK_NUMPAD9, VK_RETURN:
      key := 0;
  end;
end;


...ali iz nekog razloga ne radi (bar ne kod mene).

ss.
When something is hard to do, then it's not worth doing.
 
Odgovor na temu

gygy
Dragan Grbic

Član broj: 7861
Poruke: 205
*.flashnet.co.yu.



Profil

icon Re: tastatura - disable - kako?28.12.2004. u 00:11 - pre 235 meseci
Pa "caps lock", "ctrl", "alt" i drugi tasteri funkcionisu. Kako da iskljucim celu tastaturu, ali samo da mi numericka radi (1,2,3...9,0 i taster enter)?
Inace koristim edit i tu treba da se upise sifra (a ovo mi treba da ne moze da se skine sa ctrl+alt+del.
Nadam se da sam jasan
Unapred hvala!!!
GYGY
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: tastatura - disable - kako?28.12.2004. u 00:41 - pre 235 meseci
To sto tebi treba je SetWindowsHookEx i WH_KEYBOARD.

Pogledaj http://msdn.microsoft.com/libr...functions/setwindowshookex.asp
 
Odgovor na temu

gygy
Dragan Grbic

Član broj: 7861
Poruke: 205
*.flashnet.co.yu.



Profil

icon Re: tastatura - disable - kako?06.01.2005. u 21:23 - pre 234 meseci
Daj neverujem da ovo neko nije radio?
Ima li neko neko resenje?
Pozdrav
GYGY
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: tastatura - disable - kako?06.01.2005. u 22:07 - pre 234 meseci
Zar WinHook ne radi posao!?
Bitno je da KeyboardProc postavis u DLL, da taj DLL dinamicki ucitas i onda pre nego sto se u bilo kom prozoru posalje poruka za KeyDown, KeyUp, SysChar ili Char tvoja procedura dobija tu poruku i bira da li ce je proslediti dalje ili je izbrisati. Uvek drzis jedan flag koji ti kaze da li da pustas sve ili samo da radi sa numerickom tastaturom. Ja sam radio tako nesto gde sam pratio rad misa i kad god je trebao da udje na moj dugmic izgledalo je kao da nesto odbija misa... odbijao se od mog dugmica kao loptica :)



 
Odgovor na temu

gygy
Dragan Grbic

Član broj: 7861
Poruke: 205
*.flashnet.co.yu.



Profil

icon Re: tastatura - disable - kako?07.01.2005. u 20:35 - pre 234 meseci
Hvala Srki_82 na odgovoru. Ali mi bas nesto nije jasno, nisam nikako jos radio sa dll-ovima. Pa ako bi mi mogao nabrzaka otkucati neki kod koji bi to mogao da odradi?
Hvala!!!
GYGY
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: tastatura - disable - kako?07.01.2005. u 21:51 - pre 234 meseci
Ovo ti je samo mali primer bez DLL-a koji utice samo na tvoju aplikaciju. Ako hoces da zabranis unos u celom Win morace da se koristi DLL. Samo u KProc podesis sta sve sme da prodje i ostalo nece ni stici do OnKeyDOwn-Up ili OnChar. Ako ti ipak treba ukidanje dugmica u celom Win nacicu sukoro malo vremena da napisem DLL. Win hook je mocna stvar... procitaj malo help i MSDN i videces da mozes da radis sve i svasta sa njima.



Prikačeni fajlovi
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: tastatura - disable - kako?

[ Pregleda: 4035 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.