IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

creer un form a partir d'une unite


Sujet :

Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut creer un form a partir d'une unite
    je voudrai créer un form a partir dun unit sans utiliser showmodal ou show est-ce possible?

  2. #2
    Membre émérite
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Points : 2 883
    Points
    2 883
    Par défaut
    Tu veux la créer sans l'afficher, dans quel but ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    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.

  4. #4
    Membre émérite
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Points : 2 883
    Points
    2 883
    Par défaut
    Citation Envoyé par benta
    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.
    "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 :-)

  5. #5
    Membre régulier Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 165
    Points : 83
    Points
    83
    Par défaut
    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]
    Plusieurs processeurs pour une machine;
    Plusieurs Machines pour un calcul;
    Plusieurs calculs pour un résultat;
    Plusieurs Résultats pour un diagnostique;
    Plusieurs Diagnostiques pour une décision.

    ...........................................................

    la Décision est un acte de Management,
    le Management est un Acte d'informatique

  6. #6
    Membre confirmé
    Avatar de Philippe Gormand
    Inscrit en
    Mars 2002
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 330
    Points : 647
    Points
    647
    Par défaut Fiche
    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+
    Rien n'est moins sur que l'incertain : Pierre DAC

  7. #7
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    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;
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  8. #8
    Membre confirmé
    Avatar de Philippe Gormand
    Inscrit en
    Mars 2002
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 330
    Points : 647
    Points
    647
    Par défaut CreateForm
    -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 :
    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 ce soit la fiche "FicheSaisie" qu'il faut créer de façon

    temporaire.

    -1- Retirer la création de la fiche au démarrage du programme.

    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.
    Copier la ligne de code de création de la fiche.


    Supposons que nous voulons créer la fiche en cliquant sur un bouton dans

    Form1.

    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;
    Dans l'événement OnClose de la fiche FicheSaisie, écrire le code de sa

    destruction.

    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;
    Pourquoi utiliser cette technique ? C'est une méthode que j'utilise pour de

    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...
    Rien n'est moins sur que l'incertain : Pierre DAC

Discussions similaires

  1. Creer un DOMDocument a partir d'une page HTML (XML mal formé)
    Par windob dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/09/2009, 12h09
  2. creer un fichier lib à partir d'une DLL
    Par benoit70 dans le forum MFC
    Réponses: 12
    Dernier message: 28/09/2008, 22h58
  3. [winform] lancer un form a partir d'une autre
    Par mahboub dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/03/2006, 17h08
  4. [VB.net] Acces aux controles d'une form a partir d'une autre
    Par Fab62_ dans le forum Windows Forms
    Réponses: 3
    Dernier message: 25/01/2006, 12h47
  5. [VB6]Creer un autre TextBox à partir d'une Textbox Existante
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 24
    Dernier message: 18/01/2006, 08h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo