je voudrai créer un form a partir dun unit sans utiliser showmodal ou show est-ce possible?
je voudrai créer un form a partir dun unit sans utiliser showmodal ou show est-ce possible?
EN fait, dans le cadre de mon stage, g aps les accès pour showmodal et show et je crois ke mon maitre de stage mavasi montré un truc avec create(self) mais je retrouve aps le truc. je veux lafficher mais pas avec show ou showmodal ke je ne peu x pas utiliser.
Je ne vois pas trop.. Il n'y a pas d'autres méthodes que show ou showmodal pour afficher une fenêtre.Envoyé par benta
"create(self)" concerne la création d'un objet (éventuellement une fenêtre TForm comme tout objet) et n'a pas de rapport direct avec son affichage (en dehors du fait qu'une tform doit être créée avant d'être affichée).
A mon avis tu as un peu "mangé" les recommandations qui t'ont été faites, essaye d'être plus précis :-)
Salut BENTA, enfait je crois avoir une astuce que tu pourais utilisais pour afficher un FORM, d'abord tu initialise son VISIBLE a FALSE et quand tu veux l'afficher, tu retourne le jeton en TRUE et tu joue avec le jeton pour afficher ou cacher [/b]
Bonjour.
Je ne vois pas l'interet d'utiliser la propriété "visible" de la fiche.
Autant utiliser la méthode "Show" qui fait un UpDate de la fiche au
moment de la rendre visible, et la méthode close qui la cache sans la
détruire.
Apparemment le maître de stage a demandé d'utiliser la methode Create.
J'en conclus qu'il veut que la fiche soit créée, utilisée pour une action
précise, puis détruite (methode Release). Merci benta de préciser si c'est
bien ça. Si oui, j'utilise un truc simple et facile à faire.
A+
ce genre la?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 procedure TForm1.Apropos1Click(Sender: TObject); var my_picture : TImage; photo : string; begin my_form := TForm.Create(self); my_picture := TImage.Create(my_form); with my_picture do begin photo := Application.GetNamePath + 'vnp1.jpg'; if FileExists(photo) then begin Visible := true; my_picture.Picture.LoadFromFile(photo); Align := alclient; my_form.height := my_picture.picture.height; my_form.width := my_picture.picture.width; parent := My_form; OnClick := MyOnClick; end else ShowMessage('La photo est introuvable'); end; with my_form do begin BorderStyle := bsNone; Position := poScreenCenter; Visible := true; end; end;
-1- Créer la fiche en mode conception comme n'importe quelle autre Fiche.
-2- Ouvrir le projet avec dans le menu Projej->Voir le source.
Exemple :
Supposons que ce soit la fiche "FicheSaisie" qu'il faut créer de façon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}, Fiche2 in 'Fiche2.pas' {FicheSaisies}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TFicheSaisies, FicheSaisies); Application.Run; end.
temporaire.
-1- Retirer la création de la fiche au démarrage du programme.
Copier la ligne de code de création de la fiche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}, Fiche2 in 'Fiche2.pas' {FicheSaisies}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); //Application.CreateForm(TFicheSaisies, FicheSaisies); Application.Run; end.
Supposons que nous voulons créer la fiche en cliquant sur un bouton dans
Form1.
Dans l'événement OnClose de la fiche FicheSaisie, écrire le code de sa
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Procedure TForm1.Button1Click(Sender : TObject); begin // Placer ici le code de création de la fiche. Application.CreateForm(TFicheSaisies, FicheSaisies); end;
destruction.
Pourquoi utiliser cette technique ? C'est une méthode que j'utilise pour de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TFicheSaisie.FormClose(Sender: TObject; var Action: TCloseAction); begin // Destruction de la fiche et de tout ce qu'elle contient et libération de la mémoire Release end;
très grosses fiches
gourmandes en mémoire, ou bien pour utiliser des boites de dialogues
personnalisées.
Un des gros interet de cette méthode, est de pouvoir déveloper la fiche au
moment de la conception (particulièrement interressant pour des fiche devant
contenir de nombreux composants et événement). De plus, étant créée avec dans
Application qui devient le parent directe, le fonctionnement de la fiche avec
les messages WINDOWS est uptimum.
Si cela répond à ta demande...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager