Novo

Forum kao aplikacija na telefonu

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

  • 3 odgovora
  • 5.277 pregleda

Najnovija ↓

promjena fokusa kontrole 18.03.2005. u 10:01 · pre 263 meseca #1
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....
Re: promjena fokusa kontrole 15.07.2005. u 12:22 · pre 259 meseci #2
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
Re: promjena fokusa kontrole 15.07.2005. u 17:43 · pre 259 meseci #3
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
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme