Gérer ses fenêtres

[Résolu]
Signaler
Messages postés
259
Date d'inscription
samedi 13 décembre 2003
Statut
Membre
Dernière intervention
22 novembre 2010
-
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
-
Bonjour,


J'aimerais savoir s'il y'avait un tutorial pour apprendre à gérer correctement les fenêtres ?


Je m'explique, j'ai une fenêtre que je déclenche uniquement en temps voulu et en très peu de temps.


Imaginons une exmple simple :


- Je crée une form de base comme form principale
- Je crée une deuxième form comme form me permettant de quitter le programme


La form secondaire ne sert donc que très peu, autrement dit quand on souhaite quitter le logiciel.


Je décide donc de mettre cette form dans les fiches disponibles (Options de projet).


Comment est-ce que je dois faire pour appelée cette fiche ?
Comment faire pour détruire la fiche correctement (Destroy) ?
Et si ma fiche à été détruite auparavant comment je dois faire pour la recréer correctement ?


Merci d'avance

5 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Je dirais :


Pour instancier :


frmSecondaire:= Tfrmecondaire.Create;


Pour afficher :


frmSecondaire.Show(?);


Pour cacher :


frmSecondaire.Hide;


Pour libérer :


frmSecondaire.Free;


Le tout avec réserves...
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
Bonjour,

Avant toute chose, il faut bien sûr aussi penser à déclarer correctement les unités des Forms extérieures qui seront utilisées à partir d'une Form dans la clause uses de l'unité de la Form appelante... (dans le code de l'unité de la form principale, appuyer sur Alt + F11(équivalent de Fichier ; Utiliser l'unité...), et sélectionner la form secondaire qui sera utilisée)

Remarque 1 : Il existe une autre possibilité d'appel : FormSecondaire.ShowModal;
Cette procédure empêche l'accès à la Form appelante durant que la Form secondaire est affichée, ce qui est plus pratique lorsqu'il s'agit de la fermeture du programme comme c'est le cas ici.

Remarque 2 : L'instanciation (create) et la libération (free) de la form secondaire sont inutiles dans le code de la form appelante si la fiche est placée dans la liste des fiches disponibles au sein des options du projet (dans le source du projet).

Remarque 3 : on peut aussi appeler FormSecondaire.Close; pour fermer une form secondaire, ce qui permet à celle-ci de pouvoir utiliser au cas où ses événements OnClose et OnCloseQuery. Cette procédure est donc préférable à FormSecondaire.Hide; qui ne provoque pas ces appels.

@+
Nico {www.ni69.info}

<hr size="2" width="100%" />
N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
Messages postés
259
Date d'inscription
samedi 13 décembre 2003
Statut
Membre
Dernière intervention
22 novembre 2010
2
Merci poru ces réponses, je vais donc faire à la manière de ni69 pour ma fiche même si ce n'ets pas exactement ce que je voulais faire.

En effet en ajoutant directement toutes mes fiches disponibles je prend de suite plus de ressources !

Sinon pour créer une nouvelle form j'ai trouvé et utilisé ceci :

Application.CreateForm(TFormSecondaire, FormSecondaire);

VOilà, je ne sélectionnerais donc aucune réponse de juste car ce n'est pas exactement ce que j'atendais mais en tout cas j'en ai pas mal appris merci beaucoup !

@+
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
Que comptes-tu faire précisément ?
Parce-que là, avec tout ce que l'on t'a dit à nous deux, je ne vois pas ce que l'on pourrait rajouter !

@+
Nico {www.ni69.info}

<hr size="2" width="100%" />
N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Also know as : les réponses qui t'ont été données font le tour de ton problème. Il y en a donc au moins une qui doit te convenir.
Ce n'est pas parce qu'elles ne te plaisent pas ou que tu ne les comprends pas que tu ne dois pas te sentir obligé de les valider.

Si tu veux obtenir des réponses à tes prochaines questions sur ce forum, je te conseille d'y réfléchir...

May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.