Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - [DELPHI] Chiudere Form primario senza chiudere l'applicazione
Forum - Delphi - [DELPHI] Chiudere Form primario senza chiudere l'applicazione - Pagina 3

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
givex8 (Normal User)
Rookie


Messaggi: 28
Iscritto: 05/03/2011

Segnala al moderatore
Postato alle 10:41
Lunedì, 09/05/2011
Salve ragazzi, grazie a tutti per le risposte...
Allora il problema è questo:

Io ho due Form:

Form1 = Form di Login alla Chat
Form2 = Form Chat dove si scrive ecc...


Quando effettuo il Login, il Form1 (primario) deve scomparire e aprire il Form2
Quando effettuo il Logout, il Form2 deve scomparire e riaprire il Form1

E fin qui ci siamo... ma:
Nascondo il Form1 (il primario) a login effettuato, poi minimizzo il Form2 dalla TaskBar, e quando poi vado a ripristinarlo (sempre dalla taskbar), magicamente spunta fuori di nuovo il Form primario altre al Form2...
Se inverto la creazione dei Form (quindi il Form2 diventa primario) non risolvo niente perchè succederebbe la stessa cosa quando minimizzo e ripristino il Form1 (che in questo caso sarebbe il Form secondario).
Inoltre ho notato che quando minimizzo un Form che non è il primario dal bottone in alto e dalla taskbar, il Form non si minimizza completamente, ma rimane a sinistra dello schermo vicino al pulsante start.
Come posso risolvere questo "problema" oltre a quello del Form che rispunta fuori?

PS: Allego una foto del secondo problema per farvi capire meglio...
Grazie a tutti


givex8 ha allegato un file: Form (2).jpg (12367 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
Goblin (Member)
Expert


Messaggi: 375
Iscritto: 02/02/2011

Segnala al moderatore
Postato alle 12:28
Lunedì, 09/05/2011
Io continuo a sponsorizzare la mia idea... poi ......
Il tuo Form1 deve essere il main.
Ti costruisci un FormLogin che chiami quando ti serve, dunque sia all'inizio, sia quando fai il logout/login.
Per chiamarlo ogni volta che ne hai bisogno potresti usare una class function in modo da ritornare anche se il login è andato a buon fine oppure no, se vuoi evitare la class function un create brutale dovrebbe andare benone.
Come ho già detto, ci sono diverse soluzioni e non è detto che una giusta e l'altra sbagliata. Io (personalmente) userei questa strada. :)
G.


Ibis redibis non morieris in bello
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 16:51
Lunedì, 09/05/2011
Da quel che ho capito ti da problemi solo quando lo minimizzi nella tray!
scrivi i codici che usi (o la lib.) per minimizzare e ripristinare.
Probabilmente l'intoppo stà li! :)

PM Quote
Avatar
givex8 (Normal User)
Rookie


Messaggi: 28
Iscritto: 05/03/2011

Segnala al moderatore
Postato alle 23:14
Lunedì, 09/05/2011
Testo quotato

Postato originariamente da Dario DF:

Da quel che ho capito ti da problemi solo quando lo minimizzi nella tray!
scrivi i codici che usi (o la lib.) per minimizzare e ripristinare.
Probabilmente l'intoppo stà li! :)



Non dalla tray... Dalla Taskbar...

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 16:59
Martedì, 10/05/2011
Testo quotato

Postato originariamente da givex8:

Testo quotato

Postato originariamente da Dario DF:

Da quel che ho capito ti da problemi solo quando lo minimizzi nella tray!
scrivi i codici che usi (o la lib.) per minimizzare e ripristinare.
Probabilmente l'intoppo stà li! :)



Non dalla tray... Dalla Taskbar...


Ok, bel problema allora :-?

PM Quote
Avatar
Pietro91 (Normal User)
Newbie


Messaggi: 5
Iscritto: 10/09/2011

Segnala al moderatore
Postato alle 3:08
Sabato, 10/09/2011
Ciao a tutti, anche io ho un problema simile dovrei chiudere la Form primaria senza aprire nessun'altra form. Non voglio fare un trojan o robacce simili semplicemente vorrei utilizzare solo la trayicon.
Ps. ho postato qui per evitare di creare un'altra discussione per lo stesso problema, se ho sbagliato a postare qui vi chiedo scusa.

EDIT: per ora ho risolto mettendo la proprietà BorderStyle a bsNone e Height e Width a 0, sicuramente non è la migliore soluzione... ma comunque rimane l'icona.

EDIT 2: ho risolto anche per l'icona con questo codice:
Codice sorgente - presumibilmente Delphi

  1. ShowWindow(Application.Handle, SW_HIDE) ;
  2.    SetWindowLong(Application.Handle, GWL_EXSTYLE,
  3.      getWindowLong(Application.Handle, GWL_EXSTYLE) or
  4.      WS_EX_TOOLWINDOW) ;
  5.    ShowWindow(Application.Handle, SW_SHOW) ;


Preso da http://delphi.about.com/cs/adptips1999/a/bltip0499_3.htm
ma con questa discussione non c'entra niente... quindi scusate.

Ultima modifica effettuata da Pietro91 il 10/09/2011 alle 9:46
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo