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

Composants VCL Delphi Discussion :

Fiche Login avec une application MDI


Sujet :

Composants VCL Delphi

  1. #1
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut Fiche Login avec une application MDI
    Salut à tous,

    J'ai une application MDI, j'ai la fiche principale et 4 fiches filles.
    Lors du lancement de l'application, je dois affiché une fenetre de Login demandant l'identité et le mot de passe sans affiché la fiche principale.

    COmment dois je procedé, car jusqu'à maintenant, la fiche principale s'affiche tjs même si je le cache.
    Merci à Vous.

    Andry

  2. #2
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Essaye du cote des Fiches normales .... avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Form2.Parent := Form1;
    Form2.PArentWindow := Form1.ClientHandle;
    Ca permet d'afficher des fiches dans une autre ...

    Pour la gestion du login, si tu ne veux pas que la fiche principale soit visible il te faut utiliser une fiche normale (non mdi) pour le Pssword puis ecrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.ShowMainForm := False
    Dans le dpr ... apres initialise.

    L'affichage de la fenetre principale se fera sur fmLogin.OnClose.

  3. #3
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Je test tout de suite.
    On verra après.

    Merci

    Andry

  4. #4
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Ca marche Clorish, merci à toi.
    Pour infos voici ce que j'ai fais :
    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},
      Unit2 in 'Unit2.pas' {Form2};
     
    {$R *.res}
     
    begin
      Application.Initialize;
      Application.ShowMainForm := False;
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm2, Form2);
      Application.Run;
    et dans form2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Action := cafree;
      form1.Visible := True;
    end;

    avec Form1 : style fsMDIForm (fiche principale)
    Form2 : style fsNormal

    mais surtout, il faut mettre la propriété Visible de Form1 à False.

    Voila, pour ceux qui ça interresse

    Andry

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Points : 576
    Points
    576
    Par défaut
    Bonjour

    Il existe une methode simple fonctionnat avec tous les projets (Mdi compris).

    L'exemple montre un prject "project1" contenant 3 Tform auto créer (Master qui est la maitre, form1 et form2).

    Password est la form du mot de passe. Ell n'est pas auto créer (Elle a été enlever de la liste des formes auto créer dans l'onglet "form" des options du projet.

    Eventuellement on peut laisser la création d'un datamodule (pour le connexion au basse de données) avant la création de la form 'Password"
    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
     
     
    program Project1;
     
    uses
      Forms,Controls,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2};
     
    {$R *.res}
    var
      Password : TPassword;
    begin
      Application.Initialize;  
      Password := TPassword.Create(Nil);
      if Password.ShowModal = mrOk then begin
        Application.CreateForm(TFMAster, FMaster);
        Application.CreateForm(TForm1, Form1);
        Application.CreateForm(TForm2, Form2);
      end;
      Application.Run;
    end.

  6. #6
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Citation Envoyé par Tardiff Jean-François
    Bonjour

    Il existe une methode simple fonctionnat avec tous les projets (Mdi compris).

    L'exemple montre un prject "project1" contenant 3 Tform auto créer (Master qui est la maitre, form1 et form2).

    Password est la form du mot de passe. Ell n'est pas auto créer (Elle a été enlever de la liste des formes auto créer dans l'onglet "form" des options du projet.

    Eventuellement on peut laisser la création d'un datamodule (pour le connexion au basse de données) avant la création de la form 'Password"
    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
     
     
    program Project1;
     
    uses
      Forms,Controls,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2};
     
    {$R *.res}
    var
      Password : TPassword;
    begin
      Application.Initialize;  
      Password := TPassword.Create(Nil);
      if Password.ShowModal = mrOk then begin
        Application.CreateForm(TFMAster, FMaster);
        Application.CreateForm(TForm1, Form1);
        Application.CreateForm(TForm2, Form2);
      end;
      Application.Run;
    end.
    J'ai essayé ton code mais à l'execution Delphi m'affiche une erreur :
    Impossible de rendre modal une fenetre visible
    Comment faire

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Points : 576
    Points
    576
    Par défaut
    Bonjour

    Dans ce cas c'est que la fenêtre est visible au developpement.

    Il suffit de la mettre en "visible = False" lors de la conception.

    Le modalresult (mrOk) peut être donné directement par un bouton (si la proriété ModalResult d'un TButton est a mrCancel, le show modal serat fermer avec un resultat mecancel si l'on click sur le boutton).
    Le model result peut aussi etre donné explicitement (Si je met "ModalResult = mrOk;" dans mas procedure, la fenêtre est fermer si le "show" est un "showmodal" et la proriété modal est renseigné).

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

Discussions similaires

  1. [JBOSS] [Struts] Problème avec une application
    Par Tiercel dans le forum Wildfly/JBoss
    Réponses: 5
    Dernier message: 13/07/2004, 13h50
  2. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17

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