Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

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

  • 2 odgovora
  • 2.619 pregleda

Najnovija ↓

Pozivanje kontrole (npr. Tbutton) sa Ctrl + slovo - moguca resenja? 12.08.2008. u 13:47 · pre 221 mesec #1
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...
Re: Pozivanje kontrole (npr. Tbutton) sa Ctrl + slovo - moguca resenja? 12.08.2008. u 15:16 · pre 221 mesec #2
> 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.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Pozivanje kontrole (npr. Tbutton) sa Ctrl + slovo - moguca resenja? 12.08.2008. u 22:13 · pre 221 mesec #3
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;
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme