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 :

Techniques d'enchaînements de formes (SDI, MDI et Docking), un tutoriel de Serge Girard


Sujet :

Delphi

  1. #1
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut Techniques d'enchaînements de formes (SDI, MDI et Docking), un tutoriel de Serge Girard
    Techniques d'enchaînements de formes
    SDI, MDI et Docking


    Dès lors que l’on écrit des applications de taille conséquente, l’interface utilisateur se compose de nombreux écrans différents s’enchaînant ou non. Serge Girard passe en revue trois techniques (SDI, MDI et Docking) à la disposition du programmeur pour la gestion de ce problème en insistant sur le Docking.

    Les utilisateurs de Delphi seront tout particulièrement intéressés par l'équivalent proposé pour le framework FireMonkey qui ne dispose pas de propriété adaptée.

    Nom : dockingexecution_2.PNG
Affichages : 9403
Taille : 25,3 Ko


    Merci à Serge pour ce cadeau de Noël qui donne de la couleur au site et de la vitalité aux applications écrites avec Delphi !

    Le tutoriel est visible ici : https://serge-girard.developpez.com/...elphi/Docking/

    Que pensez-vous de ce tutoriel ?
    Comment gérez-vous les écrans de vos applications ?


    Les meilleurs cours et tutoriels pour apprendre la programmation Delphi
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 017
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Merci Gilles d'avoir jouer au Père Noël et d'avoir glisser sous le sapin mon petit cadeau à tous les Delphistes.
    Il y en a d'autres dans ma hotte (disque dur) mais l'emballage (corrections) n'est pas encore fait ce sera pour l'année prochaine
    - une suite à ce tutoriel : FMX, mettre un bouton dans un onglet
    - LiveBindings et composants (je finirai bien par me sortir de l'impasse)
    - LiveBindings et POO, je n'ai pas oublié les demandes à Paris

    j'envisage aussi d'écrire sur les styles, j'ai découvert quelques astuces suite à ma pose de bouton dans un onglet.

    Si d'autres suggestions viennent au lecteur de passage, qu'il n'hésite pas à affuter ma curiosité

    Bonnes fêtes de fin d'année à tous

    Serge
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    224
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 224
    Points : 112
    Points
    112
    Par défaut
    Merci pour ce tuto qui présente parfaitement la gestion des formes dans les frameworks VCL et FMX.

    Bonne fêtes à tous

    Lefju

  4. #4
    Invité
    Invité(e)
    Par défaut
    Merci Serge pour tous tes tutos

  5. #5
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 336
    Points : 3 103
    Points
    3 103
    Par défaut
    Bravo Serge et encore merci
    A+
    Charly

  6. #6
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 482
    Points : 2 733
    Points
    2 733
    Billets dans le blog
    10
    Par défaut
    Bonjour, une petite alternative à l'un de tes programmes exemple utilisant la propriété Parent (très à la mode ces jours-ci ). Utilisable de la même manière en FMX et en VCL
    Amitiés Alain
    Fichiers attachés Fichiers attachés

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 017
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Bonjour Alain,

    Question de goût, avec FMX je préfère utiliser AddObject . Certes AddObject lance plus d'instructions, dont celle de changer le parent , mais ainsi je suis sûr qu'interfaces, styles, etc..
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 482
    Points : 2 733
    Points
    2 733
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour Alain,

    Question de goût, avec FMX je préfère utiliser AddObject . Certes AddObject lance plus d'instructions, dont celle de changer le parent , mais ainsi je suis sûr qu'interfaces, styles, etc..
    J'avais effectivement eu quelques problèmes avec les feuilles de style en FMX que j'avais centralisé dans un TDatamodule

  9. #9
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    Je te remercie beaucoup pour tous ces magnifiques tutoriels

  10. #10
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 658
    Points : 3 598
    Points
    3 598
    Billets dans le blog
    2
    Par défaut
    Merci Sergio pour ce cadeau de Noël
    Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  11. #11
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 483
    Points
    483
    Par défaut
    Merci pour ces tutoriels...encore des nouvelles méthodes alléchantes à tester...
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  12. #12
    Membre éprouvé Avatar de der§en
    Homme Profil pro
    Chambord
    Inscrit en
    Septembre 2005
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Chambord
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2005
    Messages : 752
    Points : 938
    Points
    938
    Par défaut
    Excellent tuto , vraiment !

    Pour la partie FMX, j'ai juste une petite remarque a faire, tu utilises cette syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      ATabItem := TabControl1.Add();
      Liste.Add(Format('Tab%d%8x',[TabControl1.TabCount-1,F.RectColor]),F);
    Moi cela me chagrine, je préfère ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      ATabItem := TabControl1.Add();
      Liste.Add(Format('Tab%d%8x',[ATabItem.Index, F.RectColor]), F);
    A moins qu'il existe une raison, a ce choix...

  13. #13
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 017
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Bonjour
    Citation Envoyé par der§en Voir le message
    A moins qu'il existe une raison, a ce choix...
    Aucune si ce n'est que je n'y ait pas pensé pour la petite histoire, au départ j'ai utilisé une variable globale puis une propriété. Il fallait donc incrémenter cette variable, j'ai voulu simplifier au maximum et donc supprimé celle-ci, la ligne suivante m'a poussé à utiliser la même "syntaxe".
    Ta note est rajoutée , j'en ai également profité pour ajouter une autre note indiquant que le docking est également une fonctionnalité de D4, encore merci defluc pour cette précision.

    Joyeuses fêtes de fin d'année
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 33
    Points : 11
    Points
    11
    Par défaut une autre "form" de stokage
    Avec le SDI et la VCL on peut aussi afficher un TForm dans un autre TForm et si dans le TForm enfant vous retirez le barre de titre et ses boutons vous avez tous les avantages d'un TForm sans son aspect. Plus rapide en programmation et plus simple en gestion de fenêtres.

  15. #15
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 017
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Avec le SDI et la VCL on peut aussi afficher un TForm dans un autre TForm et si dans le TForm enfant vous retirez le barre de titre et ses boutons vous avez tous les avantages d'un TForm sans son aspect.
    Je ne suis pas du tout d'accord, en maintenant certaines applications je suis justement "tombé" sur des cas semblables et c'est justement à cause du comportement de l'application (formes cachées) que l'on avait fait appel à mes services.

    La forme "enfant" que vous décrivez n'en est pas une au sens strict du terme, déplacez la forme principale la forme enfant ne suit pas. Ce n'est pas tant l'affichage d'une fenêtre dans une autre fenêtre que sur une autre fenêtre que vous faites. Vous pourriez faire la même chose avec un TFrame
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. Form Enfants MDI 'onglets' du Parent
    Par Jeterh dans le forum VB.NET
    Réponses: 1
    Dernier message: 03/10/2012, 21h22
  2. Form vers MDI Application
    Par phil3875 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 13/11/2009, 12h58
  3. [Lazarus] [0.9.26.2/XP] Form SDI : Bouton barre des tâches
    Par Invité dans le forum Lazarus
    Réponses: 1
    Dernier message: 20/04/2009, 10h07
  4. Windows Forms application mdi
    Par kekesilo dans le forum Windows Forms
    Réponses: 1
    Dernier message: 22/05/2007, 17h29
  5. form ou mdi merci
    Par patou60110 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/03/2007, 20h29

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