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

promjena fokusa kontrole

[es] :: C/C++ programiranje :: promjena fokusa kontrole

[ Pregleda: 3916 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mladenvasic
Mladen Vasic
Doboj

Član broj: 50512
Poruke: 124
81.93.74.*



Profil

icon promjena fokusa kontrole18.03.2005. u 09:01 - pre 231 meseci
imam 3 editbox-a i jedno dugme. kako na pritisak dugmeta da se kursor fokusira ne sledeci editbox. npr. ako je fokusiran prvi editbox, na pritisak dugmeta da fokusira drugi, pa opet na pritisak dugmeta da fokusira treci i tako u krug. nadam se da ste razumjeli.
hvala unapred....
 
Odgovor na temu

Relja A.
Relja Arandjelovic
Beograd

Član broj: 5702
Poruke: 20
*.beotel.net.

ICQ: 86460709


Profil

icon Re: promjena fokusa kontrole15.07.2005. u 11:22 - pre 227 meseci
Jel' koristiš C++ Builder ili Visual Studio?
Znam to da ti uradim u Builder-u, ali mi prvo odgovori da ne bih bez veze pisao ako koristiš Visual Studio ili ako si pronašao odgovor...

Relja
 
Odgovor na temu

Relja A.
Relja Arandjelovic
Beograd

Član broj: 5702
Poruke: 20
*.beotel.net.

ICQ: 86460709


Profil

icon Re: promjena fokusa kontrole15.07.2005. u 16:43 - pre 227 meseci
Ok, evo kako to da uradiš u C++ Builer-u (ali je moguće da ti može pomoći i u slučaju Visual Studio-a):

Neka se TEdit-i zovu Edit1,2,3.
Deklariši celobrojnu promenljivu foc, koja će na početku biti 1 (koj Edit je trenutno fokusiran).

Klik na dugme treba da odradi:
Code:

foc++;
if (foc>3) foc=1;

((TEdit*)FindComponent("Edit"+IntToStr( foc )))->SetFocus();


Mislim da su prve dve linije jasne (računaju koj Edit treba da bude u fokusu).
Treća linija:
FindComponent(Ime), vraća komponentu sa datim imenom, a ovo ispred (TEdit*) mu stavlja do znanja da se radi o TEdit-u (bez zagrade bi se bunio da ne postoji funkcija SetFocus u objektu TComponent).
Dobro, isto ovo se može uraditi i prostije - bez FindComponent-a, samo sa 3 if-a. Ali to bi bilo malo teže uraditi ako ti treba 100 Edit-a..

Ovo se ne može uraditi bez (kakve takve) pomoćne promenljive. Na primer, ako bi probao ovo, ne bi uspelo:
Code:

if (Edit1->Focused()) Edit2->SetFocus();

Ne uspeva jer se klikom na dugme menja fokus na dugme, pa Edit1->Focused() vraća false.

Relja
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: promjena fokusa kontrole16.07.2005. u 08:14 - pre 227 meseci
Ne znam kako, ali ovo je već jednom bilo aktuelno:

http://www.elitesecurity.org/tema/103642/0#670966
 
Odgovor na temu

[es] :: C/C++ programiranje :: promjena fokusa kontrole

[ Pregleda: 3916 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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