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

dva pitanja u vezi Form-a

[es] :: C/C++ programiranje :: dva pitanja u vezi Form-a

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

DART_VEJDER
crna gora

Član broj: 58050
Poruke: 84
*.crnagora.net.



Profil

icon dva pitanja u vezi Form-a25.10.2005. u 14:27 - pre 225 meseci
kako da napravim da, kad mi se otvori neka forma, da bude u tom trenutku iznad svih ostalih programa....

pokusao sam sa i sa FormStyle=fsStayOnTop i Form1->Focused();
, ali opet npr. kad mi je ukljucena opera ili gledam neki film (postavio sam da mi poslije 10 sec. Form1 bude vidljiv) Form1 se prikaze, ali "iza" ovih programa...

i jos jedno pitanje:

kako da vidim da li mi je neka forma aktivna?? znaci, kako da preko koda "vidim" da li je neka forma ukljucena ili nije??

npr. program ima 10 formi, i hocu da vidim da li je form4 trenutno ucitan, tj. "podignut" ili nije??
kod žorža ti je ka' u banku!!
oko? sto ce ti oko??
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

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

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: dva pitanja u vezi Form-a25.10.2005. u 15:58 - pre 225 meseci
Citat:

kako da napravim da, kad mi se otvori neka forma, da bude u tom trenutku iznad
svih ostalih programa....
pokusao sam sa i sa FormStyle=fsStayOnTop

Hm... Nije mi jasno kako ti to ne radi?! Sigurno si nesto prevideo, jer ja imam dosta
programa koji su fsStayOnTop. fsStayOnTop zaista cini glavnu formu da bude iznad
ostalih, sve do trenutka kada se pojavi neka druga forma koja takodje ima ambiciju
da bude iznad svih...

fsStayOnTop ima i neki bug koji to setovanje izgubi kada (mislim) dodje do nekog
izuzetka:

Code:

try
{
   // ... nesto ...
}
catch ( const Exception &e )
{
   // ... ovde se nekada desi da se fsStayOnTop izgubi!!!
}

Tada se stvar vraca u prvobino stanje sa /negde u konstruktoru/:
Code:

SetWindowPos( Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOSIZE );

... a po potrebi i u TTimer-u...

Bolje ovo gore, nego ponovo:

Code:

FormStyle=fsStayOnTop;


jer u dokumentaciji pise da se ovo drugo ne radi dinamicki, vec iskljucivo u ObjectInspectoru?! Ovo mi je malo cudno, jer Windowsi nemaju nikakav problem sa
dinamickim menjanjem toga...

Kako ti postavljas FormStyle? U ObjectInspectoru ili dinamicki?

Citat:

i Form1->Focused();

Ovo nema veze sa time...

Citat:

kako da vidim da li mi je neka forma aktivna?? znaci, kako da preko koda
"vidim" da li je neka forma ukljucena ili nije?? npr. program ima 10 formi, i hocu
da vidim da li je form4 trenutno ucitan, tj. "podignut" ili nije??

Ovde si pomenuo rec UKLJUCENA :) sto govori o tome da ti mozda nije jasno
kako sve to funkcionise:

BCB po default-u vec STATICKI kreira za tebe Form1, Form2, ..., koje su odmah
spremne za PRIKAZIVANJE, dakle:

Code:

Form2->Show();
Form3->Show();

Ovo guta resurse i nije u stilu OOP-a.

Ja licno, forme DINAMICKI kreiram onda kada su mi potrebne:

Code:

Form2 = new TForm2( this );
Form2->ShowModal();
delete Form2;
Form2 = NULL;


Prethodno te forme koje kreiras dinamicki treba ukloniti iz liste za direktno
kreiranje u Project1.cpp, ili koroz Project/Options/Forms

Ako koristis moj nacin, onda je lako:

Code:

if ( Form2 )
{
   // UKLJUCENA :)
}
else
{
   // ISKLJUCENA
}


A kod tvog primera pogledaj:

Code:

if ( Form2->Visible )
{
   // UKLJUCENA :)
}
else
{
   // ISKLJUCENA
}


[Ovu poruku je menjao X Files dana 25.10.2005. u 16:59 GMT+1]
 
Odgovor na temu

DART_VEJDER
crna gora

Član broj: 58050
Poruke: 84
*.crnagora.net.



Profil

icon Re: dva pitanja u vezi Form-a25.10.2005. u 20:29 - pre 225 meseci
FormStyle postavljam u ObjectInspectoru


Ako koristis moj nacin, onda je lako:

Code:

if ( Form2 )
{
// UKLJUCENA :)
}
else
{
// ISKLJUCENA
} - PA DA! KAKO SAM GLUP!!! :-)



kod žorža ti je ka' u banku!!
oko? sto ce ti oko??
 
Odgovor na temu

[es] :: C/C++ programiranje :: dva pitanja u vezi Form-a

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

Postavi temu Odgovori

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