'Cannot focus a disabled or invisible window'
Tälläisen errori viesti tulee Delphissä. Johtuisikohan tästä:
-Form1 on näkyvissä ja sen kautta olen avannut Form2 ja samalla laittanut "Form1.Close". Myöhemmin, jos avaan uudestaan Buttonilla "Form1.Show" ei homma enään toimi niinkuin alussa, silloin kun Form1 tulee ekan kerran näkyviin.
Eli pitäisikö minun tehdä tuo "Form1.Close" ja "Form2.Show", jollain toisella tyylillä. Siis Form1:den täytyisi näkyä ohjelmassa useammin kuin kerran, mutta ei niin, että jos Form2:den sulkee, sen ei pitäisi tulla näkyviin Form2:den alta, vaan olla näkymättömissä ja tulla näkyviin vain pyydettäessä.
Huomaatte varmaan, näistä selityksistä, että olen aloittelija näissä hommissa. Toivottavasti näillä selityksillä pystytte kuitenkin auttamaan.
Tälläisen errori viesti tulee Delphissä. Johtuisikohan tästä:
-Form1 on näkyvissä ja sen kautta olen avannut Form2 ja samalla laittanut "Form1.Close". Myöhemmin, jos avaan uudestaan Buttonilla "Form1.Show" ei homma enään toimi niinkuin alussa, silloin kun Form1 tulee ekan kerran näkyviin.
Eli pitäisikö minun tehdä tuo "Form1.Close" ja "Form2.Show", jollain toisella tyylillä. Siis Form1:den täytyisi näkyä ohjelmassa useammin kuin kerran, mutta ei niin, että jos Form2:den sulkee, sen ei pitäisi tulla näkyviin Form2:den alta, vaan olla näkymättömissä ja tulla näkyviin vain pyydettäessä.
Huomaatte varmaan, näistä selityksistä, että olen aloittelija näissä hommissa. Toivottavasti näillä selityksillä pystytte kuitenkin auttamaan.
Vastaukset 2
Vanhimmat
Kokeile näin:
Form1.hide;
form2.Show;
ja sitten Form1 näkyviin
form1.show;
Form2.hide;
Voit käyttää myös:
Form1.Visible := false; // tai true, jos haluat näkyviin
Pääformin .Close muuten yleensä lopettaa ohjelman, jollet ole sitä estänyt esim OnCloseQuery -tapahtumaa käsittelemällä...
debuggausvinkki:
Ctrl-F4
Application.MainForm.Redraw();
tuosta on tietenkin hyötyä vain jos ensin siirrät (ja/tai pienennät kokoa) Delphin editorista siten, ettei se peitä formia tai ainakaan sen tärkeitä osia...