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

Visual C++ Discussion :

Comment couper la fénétre principal dans une api windows


Sujet :

Visual C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Comment couper la fénétre principal dans une api windows
    Bonjour, je fais un projet sur Visual studio, mon problème s'est que je voudrai couper m'a fenêtre principale, c'est-à-dire la fenêtre principale sera coupé en deux, sur un côté il y aura les noms des personnes et de l'autre les informations des personnes. Mon problème s'est que je n'arrive pas à faire deux styles de fenêtre sur la fenêtre principale merci
    PS: désoler pour les répétitions

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    Bien que je n'utilise généralement pas visual studio, tu devrais trouver la possiblité de créer des frame, et d'inclure celles-ci dans la fenetre principale de ton application...

    L'idée générale est donc de créer deux frames dans ton cas (l'une pour les noms, l'autre pour les autres informations) et de les placer à ta convenance sur le formulaire principal de ton applicaion.

    En fonction des différentes valeurs que tu aura données au différentes propriétés, tu pourra, par exemple, tout à fait disposer d'un ascenceur sur l'une si son contenu devient trop important par rapport à la taille dont elle dispose.

    Evidemment, les acces aux différents éléments de chacune de tes frames deviendront sans doute un peu plus complexes en prenant, par exemple la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MainForm->Frame1->ElementX->(...)
    Maintenant, il devrait tout à fait etre possible, par exemple, en choisissant un autre conteneur pour tes noms, de te passer des frames...

    En informatique, il n'y a jamais qu'une seule solution à un problème, il y en a toujours plusieurs... Simplement, certaines solutions sont plus adaptées, ou plus efficaces que d'autres

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Es-ce que tu pourrai m'expliquer un peu le code, sur visual studio la fénêtre principale est faite dans le code et j'ai encore du mal à maitrisé tous ce qui est graphique

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Ce que tu peux faire, c'est créer des sous-fenêtres (des fenêtres filles, quoi) avec le style WS_CHILD...

    Mais que veux-tu dire par "je n'arrive pas à faire deux styles de fenêtre" ?

  5. #5
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Citation Envoyé par Médinoc
    Ce que tu peux faire, c'est créer des sous-fenêtres (des fenêtres filles, quoi) avec le style WS_CHILD...
    (il faudrait vraiment que je réinstalle visual studio un de ces jour) mais WS_CHILD, ce ne serait pas plutot pour permettre la création d'applications MDI (Multi Document Interfaces)???

    J'avouerai que la connaissance de Visual que j'ai est basée sur la version professionnelle, et que cela fait un temps certain que je n'y ai plus touché...

    Cela sous entend que l'on dispose d'une série d'objet préexistants, dont, si mes souvenirs sont bons, de frames (que l'on trouve, par exemple dans la VCL de borland, sous le doux nomx de TFrame)

    Peut etre est-ce que cela pourra te mettre sur la voie?

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    WS_CHILD, c'est pour tout ce qui est inclus dans une fenêtre: Contrôles (boutons, editbox, etc.) ou fenêtres filles (les premiers n'étant qu'un sous-ensemble des secondes).

    Dans un bête éditeur de texte MDI comme celui montré dans Dev-C++, On a la hiérarchie suivante:
    Frame -> MDIClient -> MDIChild -> EditBox.
    Toutes ont le style WS_CHILD, sauf la Frame.


    ALF-Teams: En fait, si tu veux mettre d'un coté de ta fenêtre des noms et de l'autre coté les informations, tu as plusieurs solutions:
    • Si tu veux faire d'un coté les personnes et de l'autres les informations de la personne sélectionnée, tu peux faire une seule fenêtre avec d'un coté une LISTBOX et de l'autre coté un EDIT ou un STATIC qui affiche les informations.
    • Si tu n'as qu'une seule information par personne (genre: UN numéro de téléphone) il faudrait plutôt faire un truc du genre deux ListBoxes (mais j'ignore comment les synchroniser) ou un List Control (genre la vue "détails" de l'explorateur).

  7. #7
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Points : 96
    Points
    96
    Par défaut
    Salut,

    En supposant que veuille faire un affichage du style "explorateur Windows" avec un arbre à gauche et une liste à droite - si j'ai bien compris- et en supposant que utilise VC++, ce que tu peux faire:
    dans ta classe Fenetre, tu peux surcharger la fonction OnCreateClient( )
    et y créer un CSplitterWnd.
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    BOOL CMaFenetre::OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext *pc)
    {
        // monSplit est un CSplitterWnd membre de ma classe fenetre
        monSplit.createStatic(2,1);   // 2 colonnes et 1 ligne 
        monSplit.createView( .... ma première vue...);   // dans la bonne moitié...
        monSplit.createView( .... ma seconde vue...);   //... voir la doc.
        return CFrameWnd::OnCreateClient(lpcs,pc);
    }

Discussions similaires

  1. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02
  2. Comment importer un document CSV dans une table MySql ?
    Par magic8392 dans le forum Requêtes
    Réponses: 6
    Dernier message: 04/02/2005, 11h03
  3. Comment avoir 2 clés primaires dans une table
    Par Guigui_ dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 18/01/2005, 08h29
  4. Réponses: 9
    Dernier message: 15/09/2004, 21h35
  5. Paradox 7 Comment trier et marquer données dans une DBgrid
    Par technico dans le forum Bases de données
    Réponses: 12
    Dernier message: 04/07/2004, 11h08

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