| | |
| Stránka: 1 z 1
| [ Príspevkov: 18 ] | |
Autor | Správa |
---|
Registrovaný: 12.01.12 Prihlásený: 26.01.16 Príspevky: 27 Témy: 5 Bydlisko: Janova Lehota |
Zdravím,.. potreboval by som pomôcť.
V programe používam nastavenie Kód: form1.formstyle:=fsStayOnTop
A keď sa chcem prepnúť pomocou windows skratky Atlt+tab na nejaké iné okno, ktoré mám zminimalizované, napríklad mozilla, tak mi to nefunguje lebo spustená delphi aplikácia zostane vždy na vrchu. Otvoriť mozillu sa mi podarilo len v tedy keď som sa pomocou alt+tab preklikal najskôr na pracovnú plochu a až potom som ju maximalizoval.
Nedalo by sa to nejak spraviť, aby som sa nemusel vždy preklikávať až na pracovnú plochu?
|
|
Registrovaný: 11.01.09 Prihlásený: 24.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 31.03.2012 11:33 | |
|
Kedze aplikacia je stale na vrchu, tak jednoducho aj po maximilizovani inej aplikacie ju nebude vidno cez tvoju aplikaciu - logicky. Mozes to riesit bud odstranenim tohto flagu ( fsStayOnTop ), alebo nejako inak, ze aplikacia sa minimalizuje po jej deaktivacii, teda ak strati fokus.
|
|
Registrovaný: 12.01.12 Prihlásený: 26.01.16 Príspevky: 27 Témy: 5 Bydlisko: Janova Lehota | Napísal autor témy jucho29: 31.03.2012 11:43 | |
|
toto viem že ju kôli tomu nebudem vidieť. Ale keď budem mať otvorený ten môj program, StayOnTop potrebujem mať zapnuté. Ja ho potrebujem vypnúť len na tú dobu, kým sa užívateľ bude chcieť prepnúť do inej aplikácií. pokúšal som sa to spraviť pomocou klávesových skratiek, že som ich vložil do programu, ale potreboval by som nejakú vlastnosť, pomocou ktorej by som to mohol testovať či užívateľ sa pkúša o prepnutie aplikácie alebo nie.
|
|
Registrovaný: 11.01.09 Prihlásený: 24.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 31.03.2012 12:11 | |
|
Ta vlastnost by mala byt OnDeactivate, no nie formulara, ale aplikacie ( cize globalnej premennej Application ). Jej chovanie nastavis nasledovne:
1.) pridaj si prototyp metody medzi inteface tvojho formulara
Kód: private // ostatne metody procedure AppOnDeactivate(Sender: TObject); 2.) Napis jej telo, cize v nej bude samotna obsluha, co potrebujes, ak aplikacia strati fokus - v tvojom pripade napr minimalizovanie, pripadne mozes na okamih vziat aplikacii flag StayOnTop Kód: procedure TForm1.AppOnDeactivate(Sender: TObject); begin
ShowMessage( 'Aplikacia stratila fokus' );
end; 3.) niekde v inicializacii, napr OnCreate formulara este priradime tuto funkicu objeku Application Kód: Application.OnDeactivate := AppOnDeactivate;
Ak sa rozhodnes pre riesenie, ze budes odoberat aplikacii flag StayOnTop, tak potom este pridaj vlastnost OnActivate pre aplikaciu, kde flag formularu spatne priradis.
|
|
Registrovaný: 12.01.12 Prihlásený: 26.01.16 Príspevky: 27 Témy: 5 Bydlisko: Janova Lehota | Napísal autor témy jucho29: 31.03.2012 12:38 | |
|
a čo mám dať ako podmienku?? lebo tam vlastne potrebujem testovať či je aktívny alebo nie,.. či?
|
|
Registrovaný: 11.01.09 Prihlásený: 24.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 31.03.2012 12:40 | |
|
Ty netestujes nic, metoda OnDeactivate sa zavola sama, ak aplikacia strati fokus.
_________________ Ak potrebujete pomoc s diagnostikou/opravou vasej elektroniky ( notebook, motherboard, GPU, a ine ), kontaktujte ma cez SS. |
|
Registrovaný: 12.01.12 Prihlásený: 26.01.16 Príspevky: 27 Témy: 5 Bydlisko: Janova Lehota | Napísal autor témy jucho29: 31.03.2012 13:06 | |
|
a ak by som mal v aplikácií viac formulárov tak to musím na každý formulár osobitne pridávať?
|
|
Registrovaný: 11.01.09 Prihlásený: 24.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 31.03.2012 13:35 | |
|
Nemusis, pretoze ty ten kod napises ako vlastnost objeku Application, nie nejakeho konkretneho formulara. Ved si skus ten kod, ktoy som ti napisal a uvidis sam, co to robi. Len miesto toho ShowMessage si daj napr toto:
Kód: Application.Minimize;
a aplikacia sa ti stale minimalizuje ak strati fokus.
|
|
Registrovaný: 12.01.12 Prihlásený: 26.01.16 Príspevky: 27 Témy: 5 Bydlisko: Janova Lehota | Napísal autor témy jucho29: 31.03.2012 15:52 | |
|
a vieš mi ešte prosím ťa povedať, že keď sa prepínam pomocou tej skratky alt+tab, tak prečo tam mám ikonu iného formulára než je aktívny foormulár?
|
|
Registrovaný: 11.01.09 Prihlásený: 24.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 31.03.2012 16:14 | |
|
Tomu velmi nerozumiem. Je tam ikona inej aplikacie, alebo ineho formulara tvojej aplikacie alebo ako? Ak mozes spravit screen, mozno by to pomohlo pre lepsiu predstavu.
_________________ Ak potrebujete pomoc s diagnostikou/opravou vasej elektroniky ( notebook, motherboard, GPU, a ine ), kontaktujte ma cez SS. |
|
Registrovaný: 12.01.12 Prihlásený: 26.01.16 Príspevky: 27 Témy: 5 Bydlisko: Janova Lehota | Napísal autor témy jucho29: 31.03.2012 16:35 | |
|
je tam ikona iného môjho formulára,... predstav si aplikáciu s dvomi formulármi ktoré medzi sebou môžeš prepínať. Jeden z nich máš zobrazený ale keď sa prepínaš pomocou tlačidla Alt+Tab tak tam ukazuje ten druhý formulár.
|
|
Registrovaný: 11.01.09 Prihlásený: 24.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 31.03.2012 16:52 | |
|
Ikonu aplikacie mozes nastavit takto ( existuje viacero postupov, no tento je najjednoduchsi ):
- Project | Options | tu vyberies zalozku Application | kliknes na Load Icon... a zvolis ikonu | klik na OK
|
|
Registrovaný: 12.01.12 Prihlásený: 26.01.16 Príspevky: 27 Témy: 5 Bydlisko: Janova Lehota | Napísal autor témy jucho29: 31.03.2012 17:15 | |
|
prepáč zle som sa vyjadril,... nie ikona ale náhľad,.. keď sa prepínaš pomocou tlačidla ALT+TAB, tak sa ti zobrazujú jednotlivé aplikácie, ktoré máš spustené pomocou náhladov jednotlivých programov,... čiže tam by ti malo zobrazovať posledný formulár, ktorý si mal v aplikácií zobrazený,... lenže mne sa zobrazuje iný
na náhlade je zobrazený iný formulár, než ktorý som v programe používal naposledy
|
|
Registrovaný: 11.01.09 Prihlásený: 24.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 31.03.2012 17:23 | |
|
Aha tak. A robi ti to az teraz, ked si dal po deaktivacii - cize si osetril metodu OnDeactivate - aplikaciu minimalizovat, alebo ti to robi stale?
_________________ Ak potrebujete pomoc s diagnostikou/opravou vasej elektroniky ( notebook, motherboard, GPU, a ine ), kontaktujte ma cez SS. |
|
Registrovaný: 12.01.12 Prihlásený: 26.01.16 Príspevky: 27 Témy: 5 Bydlisko: Janova Lehota | Napísal autor témy jucho29: 31.03.2012 17:29 | |
|
robí mi to stále,... pred tým ked som sa takto preklikol až na pracovnú plochu a potom naspäť do programu tak mi to aj za ten formulár normálne v aplikácií zamenilo,... preto som začal používať StayOnTop aby som zabránil tej výmene formulára, ale toto zobrazenie už zabezpečiť neviem... a nejde mi to do hlavy že prečo to robí
|
|
Registrovaný: 11.01.09 Prihlásený: 24.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 31.03.2012 17:45 | |
|
Podla mna je v tom okienku ALT-TAB zobrazeny formular, ktory je nastaveny ako hlavny. A nie som si isty, ci sa s tym da nieco robit. Ak chces skus nasledovne ( ja zial momentalne nemozem ): vzdy, ak aplikacia strati fokus, tak skus zmenit hlavny formular na ten, ktory chces zobrazit. Tzn pridaj tento kod do OnDeactivate funkcie, ktoru som popisal vyssie:
Kód: Application.Mainform := FormularKtorySaMaZobrazit; A potom ak aplikacia dostane spatne fokus, jej vrat povodny formular - pridat do OnActivate objektu Application, taktiez popisane vyssie: Kód: Application.Mainform := PovodnyForm;
Mozno to bude fungovat, ale ak nie, tak ozaj neviem o inom sposobe.
|
|
Registrovaný: 12.01.12 Prihlásený: 26.01.16 Príspevky: 27 Témy: 5 Bydlisko: Janova Lehota | Napísal autor témy jucho29: 31.03.2012 18:03 | |
|
toto mi nejak nechce ísť
|
|
Registrovaný: 12.01.12 Prihlásený: 26.01.16 Príspevky: 27 Témy: 5 Bydlisko: Janova Lehota | Napísal autor témy jucho29: 02.04.2012 17:04 | |
|
už som konečne zistil prečo mi to robí blbosti,.. ono keď sa používa viacero formulárov v aplikácií tak pri ich prepínaní nestačí napísať že Kód: form2.show ale aj Kód: form1.visible:=false
lebo ma to vlastne prepínalo na posledný formulár, ktorý mal zapnutý visible a ten potom aj zobrazovalo v tom náhlade
|
|
| Stránka: 1 z 1
| [ Príspevkov: 18 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| delphi zapis cisla do editu v delphi v Delphi, Visual Basic | 3 | 1107 | 11.05.2008 12:02 p360t | | Stylovanie formularu v HTML, XHTML, XML, CSS | 3 | 434 | 28.07.2010 20:25 shaggy | | SPRACOVANIE FORMULARU v PHP, ASP | 5 | 948 | 02.07.2006 21:50 Freelan | | Vyplňování formulářů v Grafické programy | 5 | 478 | 25.02.2011 14:10 Willi1 | | Tvorba Objednávkového Formuláru v PHP, ASP | 12 | 1027 | 13.03.2008 8:23 wotan | | Viacnásobné odoslanie formuláru v PHP, ASP | 15 | 1037 | 03.09.2011 21:57 camo | | Ulozenie formularu pred odoslanim v PHP, ASP | 2 | 348 | 23.12.2011 7:54 Han5vk | | spracovanie formularu pred odoslaním v PHP, ASP | 15 | 840 | 26.06.2010 20:41 coldak | | Data z formularu + vysledok v PHP, ASP | 12 | 554 | 23.08.2008 0:11 Blackshadow | | Ukladanie formularu do suboru v Delphi, Visual Basic | 2 | 583 | 15.04.2010 12:28 coldak | | Nacitanie formularu z db v PHP, ASP | 2 | 473 | 22.07.2008 21:25 funny102 | | Zistenie IP odosielateľa formuláru v Sieťové a internetové programy | 4 | 449 | 09.04.2020 20:20 tatko Tom | | Presúvanie formuláru za hociktorú časť v Delphi, Visual Basic | 7 | 878 | 23.12.2007 10:53 audiotrack | | Valdiacia formularu - povinne/nepovinne udaje v JavaScript, VBScript, Ajax | 2 | 526 | 28.06.2009 19:40 rooobertek | | data z formularu do .csv v PHP, ASP | 2 | 493 | 23.01.2009 11:25 neopagan | | Odoslanie formularu do funkcie php v PHP, ASP | 1 | 385 | 17.01.2011 18:19 emer |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|