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

Lazarus Pascal Discussion :

[Lazarus][Débutant] Afficher une deuxième fenêtre


Sujet :

Lazarus Pascal

  1. #1
    Membre du Club
    Profil pro
    Collégien
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Points : 56
    Points
    56
    Par défaut [Lazarus][Débutant] Afficher une deuxième fenêtre
    Bonjour,
    je travaille actuellement sur un petit programme de jeux d'allumettes incluant une fenêtre "à propos de" qui s'affichera en appuyant sur un bouton. J'avais pensé à quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    show.Form2;
    end;
    mais c'était trop beau pour être vrai alors si vous connaissez la bonne formulation...

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par 'ti programmeur
    Bonjour,
    je travail actuellement sur un petit program de jeux d'allumettes incluant une fenetre a
    "propos de" qui s'affichera en appuyant sur un bouton j'avais pensé a quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    show.Form2;
    end;
    mais c'était trop beau pour être vrai alors si vous connaissez la bonne formulation...
    ceci marche !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    Form2.show;
    end;
    Un peu touche a tous

  3. #3
    Membre du Club
    Profil pro
    Collégien
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Points : 56
    Points
    56
    Par défaut
    ah ben j'était pas loin ...

  4. #4
    Membre éclairé

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Points : 773
    Points
    773
    Par défaut
    Il va falloir tout d'abord ajouter une fiche à ton projet.
    Ceci se fait à l'aide du menu fichier >> nouvelle fiche
    Puis tu vas enregistrer le nouveau fichier généré (unit2.pas) à l'aide de la commande fichier >> tout enregistrer.

    Ceci étant fait, tu vas déclarer la fiche 2 dans dans ton code source principal, en ajoutant unit2 dans les uses ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    unit Unit1; 
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, Process,
      Buttons, unit2;
    Grace à celà, tu peux utiliser la ligne
    dans ta procedure liée au click sur le bouton2...

    A l'inverse, tu peux avoir besoin de manipuler ta fiche1 depuis ta fiche 2, par exemple si tu decide de cacher ta fiche1 quand tu montre ta fiche2 et inversement...

    Dans ce cas il faudra déclarer unit1 dans ta fiche2, mais plus bas, après le mot clef implementation de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    implementation
    uses unit1;
    Pour ce qui est de la disparition de l'une et de l'autre tu peux faire :

    dans unit1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.Button1Click(Sender: TObject);
    begin
       form1.hide;
       form2.show;
    end;
    dans unit2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm2.Button1Click(Sender: TObject);
    begin
      form2.hide;
      form1.Show;
    end;
    Tu n'as plus qu'à parfaire le look de ta fiche 2 pour faire une belle fenetre About...

    Bon Courage

  5. #5
    Membre du Club
    Profil pro
    Collégien
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Points : 56
    Points
    56
    Par défaut
    ça y'est c bon merci encore

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 400
    Points : 300
    Points
    300
    Par défaut
    Tu peux aussi faire du form2.showmodal

    Tu travailles dans la deux qui est au dessus de la 1 et tant que tu n'as pas fermé la 2 tu ne peux pas revenir à la 1

    @+

  7. #7
    Membre éclairé

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Points : 773
    Points
    773
    Par défaut
    Citation Envoyé par Bernard B
    Tu peux aussi faire du form2.showmodal

    Tu travailles dans la deux qui est au dessus de la 1 et tant que tu n'as pas fermé la 2 tu ne peux pas revenir à la 1

    @+
    Celà fonctionne parfaitement sous windows mais pas sous linux (du moins pas encore...)
    On peut parfaitement revenir à la première fenetre sous linux. La fermeture de la fenetre créée ainsi (toujours sous Linux)ne rend pas le focus à la fenetre parente lors de sa fermeture,si bien que le showmodal ne fait rien de plus qu'un simple show...

    Il y a souvent des différences de comportement avec lazarus entre windows et linux avec le meme code, il convient de toujours tester la version compilée sous les deux OS...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. coment afficher un champ dans une deuxiéme fenêtre.
    Par loic20h28 dans le forum WinDev
    Réponses: 2
    Dernier message: 03/03/2008, 14h36
  2. [débutant]Afficher une image sur une JFrame
    Par mavina dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 09/08/2006, 16h25
  3. [Débutant]Afficher une chaine de caractères
    Par cyrille2k5 dans le forum Oracle
    Réponses: 3
    Dernier message: 02/06/2006, 16h04
  4. Réponses: 2
    Dernier message: 12/05/2006, 18h49
  5. Création d'une deuxième fenêtre windows
    Par stabilo dans le forum MFC
    Réponses: 5
    Dernier message: 03/03/2006, 19h44

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