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

hvatanje dogadjaja OnExit

[es] :: Pascal / Delphi / Kylix :: hvatanje dogadjaja OnExit

[ Pregleda: 2726 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.static.sbb.co.yu.

Sajt: www.diy-fever.com


+1 Profil

icon hvatanje dogadjaja OnExit02.02.2007. u 14:08 - pre 208 meseci
Zdravo,
imam problem sa OnExit eventom kod ComboBox-a. Na formi imam jednu PageControl i combo box. Treba da uhvatim OnExit ali kad korisnik iz comboBox-a direktno pokusa do promeni stranicu na PageControl prvo se desi promena stranice pa onda OnExit. Jel moguce nekako da se preduhitri event?
Tnx
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: hvatanje dogadjaja OnExit02.02.2007. u 15:45 - pre 208 meseci
> imam problem sa OnExit eventom kod ComboBox-a. Na formi imam jednu PageControl i combo box. Treba da uhvatim OnExit ali kad
> korisnik iz comboBox-a direktno pokusa do promeni stranicu na PageControl prvo se desi promena stranice pa onda OnExit.

OnChange događaj TPageControl? Ja sam probao i prvo se poziva Combo.OnExit a potom Page.OnChange.
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.vdial.verat.net.

Sajt: www.diy-fever.com


+1 Profil

icon Re: hvatanje dogadjaja OnExit02.02.2007. u 22:36 - pre 208 meseci
hmm, mozda nisam dobro objasnio.
probaj da stavis neki message box na OnExit kod combo boxa. Kad kliknes na neki page u PageControl dok combo ima fokus prikazuje se poruka ali pre toga stranica pocne da se menja. Ne prikaze se nova stranica ali tab na koji si kliknuo se oznaci. Kad zatvorise messagebox predje se na novu stranicu. Problem je sto radim neku verifikaciju sadrzaja combo boxa. Ne mogu da radim na onChange jer korisnik moze i strelicama na tastaturi da browsuje kroz combo box pa mora na onExit. Kad je korisnik izabrao pogresan podatak i pokusa da otvori drugu stranicu na PageControl prikazace mu se greska i otvorice mu se druga strana, a to ne sme tako.
Ili proba da klikne na OK dugme. Kad klikne prikazace se poruka o gresci ali cim se dialog zatvori dugme ce da primi OnClick.
Ako neko ima ideju bio bih zahvalan.
I da, bilo bi lepo da se to resi unutar samog checkbox-a bez mesanja PageControl jer slicnu situaciju imam na nekim drugim formama i bilo bi lepo da postoji neko resenje koje to radi na licu mesta bez obzira na druge komponente na formi.
Pozdravi
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
217.26.69.*



+2 Profil

icon Re: hvatanje dogadjaja OnExit03.02.2007. u 03:36 - pre 208 meseci
Citat:
bancika: Ne mogu da radim na onChange jer korisnik moze i strelicama na tastaturi da browsuje kroz combo box pa mora na onExit.

Ne mora na OnExit. OnChange se trigeruje i pri promeni comboboxa sa strelicama na tastaturi.
Dakle, na OnChange postavi neku globalnu boolean promenljivu, a na PageControl.PageControlChanging, postavi var parametar AllowChange u zavisnosti od globalne promenljive.
Pozdrav
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
85.222.164.*



+1 Profil

icon Re: hvatanje dogadjaja OnExit03.02.2007. u 09:07 - pre 208 meseci
Citat:
...Kad je korisnik izabrao pogresan podatak ...

Stavi samo podatke koji ti odgovaraju, tj filtriraj nekako podatke u combo boxu. (ako nije neki kviz )
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
213.244.197.*

Sajt: www.diy-fever.com


+1 Profil

icon Re: hvatanje dogadjaja OnExit03.02.2007. u 09:34 - pre 208 meseci
ne mogu da filtriram opcije jer imam vise combo box-ova i validacija proverava da nije selektovatna ista stvar vise od jednom.
badam, moze tako, ali ne bi mesao page control jer ce to da resi problem samo sa page control-om, a sta sa dugmetom koje sam pomenuo? to bi morao da radim za svaku komponentu na formi.
combo je mnogo glupo napravljen, ne mozes da dobijes event kad korisnik zavrsi odabir. idealno bi bilo da se uhvati tenutak kad komponenta gubi fokus i ako je validacija losa da se nekako prekinu sve tekuce radnje (recimo ako je korisnik kliknuo negde, OnMouseDown ce da preuzme fokus ali ce u baferu ostati onaj OnMouseUp i posle validacije ce se izvrsiti kao da je korisnik tad kliknuo).
Znam da je sugav problem :)
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: hvatanje dogadjaja OnExit03.02.2007. u 15:38 - pre 208 meseci
> combo je mnogo glupo napravljen, ne mozes da dobijes event kad korisnik zavrsi odabir. idealno bi bilo da se uhvati tenutak kad
> komponenta gubi fokus i ako je validacija losa da se nekako prekinu sve tekuce radnje (recimo ako je korisnik kliknuo negde, OnMouseDown
> ce da preuzme fokus ali ce u baferu ostati onaj OnMouseUp i posle validacije ce se izvrsiti kao da je korisnik tad kliknuo).

OnExit se i poziva kada combo gubi fokus, a on će izgubiti fokus kada ga neki drugi prozor dobije. Ako nećeš da koristiš OnChange event i želiš da se rešenje ograniči na Combo, možeš capturovati miš tako da detektuješ klik koji će promeniti fokus i po potrebi ga zabraniti, dalje treba da detektuješ promene koje mogu nastati preko tastature. Treća varijanta je da dozvoliš prmenu fokusa ali da ako nije prošla validacija combo unosa da opet vratiš unos na combo. Ovo možeš uraditi postovanjem custom poruke bilo combo boxu (koju ćeš presresti) ili main findowu i u čijem handleru ćeš postaviti fokus na combo.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: hvatanje dogadjaja OnExit

[ Pregleda: 2726 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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