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 :

[D6] Comment dupliquer une partie des composants d'une fenêtre ?


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut [D6] Comment dupliquer une partie des composants d'une fenêtre ?
    J'ai une fenêtre permettant d'explorer des répertoires.
    Donc, un TreeView à gauche, une ListView à droite, une barre d'outils en haut, et une StatusBar en bas.

    J'aimerais permettre à l'utilisateur de dupliquer ces composants, de manière à avoir deux explorateurs l'un au-dessus de l'autre dans la même fenêtre.
    Chacun des "explorateurs" fonctionneraient de la même façon.

    Je ne me vois pas écrire deux fois la même chose.
    Existe t'il un moyen d'arriver à ça (de manière simple) ?

    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    Une fiche avec tous ces composants dont tu créeras plusieurs instances et "dockeras" dans une fiche principale. Voir ManualDock.

  3. #3
    Membre Expert Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Une fiche avec tous ces composants dont tu créeras plusieurs instances et "dockeras" dans une fiche principale. Voir ManualDock.
    Si par "fiche" tu entend "TForm" (je ne connais pas manualDock), moi je proposerais plutot une TFrame que tu poses N fois dans ta form (statiquement ou dynamiquement)

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    L'intérêt du TFrame est surtout au design : pouvoir coder des comportements différents en fonction de la fiche conteneur.
    A l'exécution, je préfère la souplesse du TForm qui permet d'avoir indépendemment une fenêtre dockée ou flottante

  5. #5
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Une fiche avec tous ces composants dont tu créeras plusieurs instances
    Effectivement. C'est une solution simple.

    Le ManualDock ne semble pas faire ce que je veux, mais je m'en sors avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       Form_1 := TForm2.Create(Self);
       Form_1.Parent := Panel1;
       Form_1.Align := alClient;
       Form_1.Show;


    Pour les frames, je n'en ai jamais fait.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 094
    Par défaut
    @Lung, je te conseille aussi de changer BorderStyle en bsNone si ce n'est pas déjà fait, cela change grandement la gestion du Focus !
    Sauf si tu veux conserver une barre de titre comme un pseudo-mdi

    Les Frames, je n'en faisais jamais non plus, maintenant je dois maintenir un projet qui combine Frame de Frame plus héritage de Form !
    C'est pas si mal en DesignTime mais le code est vraiment dégueux !
    Je pense que l'on peut faire propre si l'on conçoit la Frame comme un composant avec une encaspulation par des propriétés\méthodes publiques !
    Manque juste la possibilité d'ajouter des propriétés publiés (normal sans installation, on peut pas)

    la Frame c'est pratique lors que l'on veut regrouper des composants pour une forte réutilisabilité sans devoir passer par un Package et son installation !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    @Lung, je te conseille aussi de changer BorderStyle en bsNone si ce n'est pas déjà fait, cela change grandement la gestion du Focus !
    Oui, j'y ai pensé.

    Citation Envoyé par ShaiLeTroll Voir le message
    la Frame c'est pratique lors que l'on veut regrouper des composants pour une forte réutilisabilité sans devoir passer par un Package et son installation !
    Un jour, je regarderais ...
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  8. #8
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par Lung Voir le message
    Oui, j'y ai pensé.


    Un jour, je regarderais ...
    c'est très simple

    Fichier/Nouveau/Cadre

    tu y places tes composants comme pour une fiche

    ensuite tu vas sur une fiche, dans la palette de composant tu prends TFrame, tu choisies dans la liste et hop ! te voila avec le cadre sur ta fiche.

    le gros avantage c'est qu'il est modifiable, tu peux rendre invisible des composants, les déplacer, en ajouter, modifier les propriétés...exactement comme si c'était un composant que tu venais de placer.

    le seul truc un peu particulier est le clic droit "revenir à l'hérité" pour annuler les modifications...c'est pas toujours très pratique.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  9. #9
    Membre Expert Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    la Frame c'est pratique lors que l'on veut regrouper des composants pour une forte réutilisabilité sans devoir passer par un Package et son installation !
    Moi j'utilise les frames a outrance. c'est super pratique, c'est comme utiliser un panel contenant des composants, sauf que tu peux la concevoir visuellement, ce qui n'est pas negligeable (surtout quand tu l'herite apres !)

Discussions similaires

  1. comment récupérer la valeur des composants d'une autre application
    Par AlexTheDoctor dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/12/2009, 18h13
  2. Réponses: 7
    Dernier message: 04/10/2007, 10h10
  3. Réponses: 9
    Dernier message: 08/08/2007, 11h35
  4. Réponses: 2
    Dernier message: 06/04/2007, 10h26
  5. Limiter les droits à une partie des lignes d'une table
    Par Nabu dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 20/08/2006, 00h04

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