[ axx420 @ 15.12.2006. 11:47 ] @
| Dakle, kod:
Code: oForm=Createobject("Form")
oForm.Show() prikazuje formu i forma dobija fokus.
Otkrio sam da kod:
Code: oForm=Createobject("Form")
oForm.Visible=.t. prikazuje formu i forma NE dobija fokus ...ali ponekad
U suštini želim da, ne ometajući korisnika u trenutnoj akciji, otvorim formu sa nekim obaveštenjem koje ne zahteva akciju korisnika (recimo: stigla je nova poruka za korisnika). Probao sam sa _screen.ActiveForm i _screen.ActiveControl i upetljao se. Kao da bi promiče nešto skroz jednostavno.
Potrgah se tražeći na netu ali nisam našao rešenje. Help!
|
[ Zed Mc Jack @ 18.12.2006. 08:04 ] @
Pre nego što je prikažeš treba da dodaš jednu liniju
Code:
oForm.AlwaysOnBottom=.T.
Ja nisam proveravao sve detalje, da li to radi i ako je otovrena modalna forma itd, ali eto nešto uradi i ti
HTH
[ axx420 @ 18.12.2006. 14:51 ] @
Hvala Zed Mc Jack, ali nije pomoglo :(
Bez obzira što je forma "iza svih otvorenih" ipak je aktivna odnosno ima fokus.
Probao sam sve:
- da sa nodefault u Show i Activate zaobiđem pokretanje ovih eventa
- isključivao i uključivao mnoge properties (AllowOutput, Desktop, ShowWindow, čak i WindowState i Visible)
- pokušaj sa ActiveForm radi samo kada postoji aktivna forma pre toga ali tada forma prvo dobije fokus pa ga izgubi što je ružno i zbunjujuće
- petljanje sa starim define window takođe nije pomoglo
- petljanje sa ShowWindow Windows API funkcijom - nije pomoglo
Jedino rešenje je da "progledam kroz prste" da pri prvom prikazivanju forma ima fokus.
Formu čuvam u memoriji (bez release) sve dok postoji potreba za njom (do kraja rada programa).
Svako sledeće prikazivanje (sa Visible=.t.) forma nema fokus.
Ovo zadnje "pije vodu" ali me kopka da li je moguće da ne može da se prikaže forma bez fokusa?
[ Zed Mc Jack @ 18.12.2006. 16:49 ] @
Sad se setih jednog od uobičajenijih trikova u Fox-u.
Kada imaš takve gadne vizuelne efekte i slično možeš da uradiš lockscreen=.T. i kada se ispisivanje završi i forma ode u pozadinu, dozvoliš iscrtavanje sa lockscreen=.F.
Javi ako pronađeš rešenje
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.