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

Pozivanje kontrole (npr. Tbutton) sa Ctrl + slovo - moguca resenja?

[es] :: Pascal / Delphi / Kylix :: Pozivanje kontrole (npr. Tbutton) sa Ctrl + slovo - moguca resenja?

[ Pregleda: 1962 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

yiwan
Novi Sad

Član broj: 81026
Poruke: 63
*.rcub.bg.ac.yu.



Profil

icon Pozivanje kontrole (npr. Tbutton) sa Ctrl + slovo - moguca resenja?12.08.2008. u 12:47 - pre 190 meseci
Pravim aplikaciju koja izmedju ostalog na formi ima TDBgrid, TEdit i par dugmica...

Fokus je uglavnom na TDBgridu tj. na TEditu ciji onChange aktivira pretragu i nalazi odgovarajucu vrstu u gridu.

Hteo bi da kad stisnem neku kombinaciju tastera (sa Ctrl, Alt i sl.) pozovem Onclick od nekog dugmeta i tako izbegnem upotrebu misa.

Probao sam na vise i nacina i sledeci su problemi:
- ako koristim akcelerator (&) kod dugmeta, on se aktivira i bez upotrebe Alt, sto mi onemogucava pretragu (jer je fokus na Tedit koji ocekuje unos)
- ako koristim neto tipa:
Code:
if (Key = Ord('N')) and (ssCtrl in Shift) then begin 
  Key := 0;
  NoviBtnClick(self);
end; 

onda reaguje na kombinaciju, ali i udje u obradu onChange od TEdit (nece da ignorise taj pritisak tastera).

Gde gresim i ima li neko mozda neki bolji predlog da ovo izvedem?


P.S. mora biti podrzano u Delphi5 tako da Akcije i nesto slicno otpada...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Pozivanje kontrole (npr. Tbutton) sa Ctrl + slovo - moguca resenja?12.08.2008. u 14:16 - pre 190 meseci
> Hteo bi da kad stisnem neku kombinaciju tastera (sa Ctrl, Alt i sl.) pozovem Onclick od nekog dugmeta i tako izbegnem upotrebu misa.
> gde gresim i ima li neko mozda neki bolji predlog da ovo izvedem?
> P.S. mora biti podrzano u Delphi5 tako da Akcije i nesto slicno otpada...

Shortcutovi su prirodan način da se to reši, bilo da ćeš koristiti OnShortcut na Formi ili TAction (koji postoji u D5). Najlakše ti je da ubaciš novi TAction, dodeliš shortcutove koji ti trebaju, ubaciš kod i povežeš button sa njim.
 
Odgovor na temu

franjo_tahi
Franjo Tahi
Zagreb

Član broj: 34712
Poruke: 399
*.adsl.net.t-com.hr.



+1 Profil

icon Re: Pozivanje kontrole (npr. Tbutton) sa Ctrl + slovo - moguca resenja?12.08.2008. u 21:13 - pre 190 meseci
Postoji i drugo rješenje:

1. formi na kojoj radiš postavi property u obj. insp.
KeyPreview := true;

2. kreiraj proceduru OnKeyUp npr:
procedure Form1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (ssAlt in Shift) and (Key = 65) then // 65 = a illi A
Botton1.OnKeyPress; // Poziv procedure gumba
end;
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Pozivanje kontrole (npr. Tbutton) sa Ctrl + slovo - moguca resenja?

[ Pregleda: 1962 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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