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

MFC Discussion :

[MFC] DialogBar - placement au démarrage de l'application


Sujet :

MFC

  1. #1
    Membre averti
    Avatar de bigquick
    Profil pro
    Inscrit en
    Août 2002
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 356
    Points : 353
    Points
    353
    Par défaut [MFC] DialogBar - placement au démarrage de l'application
    Salut,

    J'ai une petite question sur les DialogBar des MFC, et je n'ai pas trouvé la réponse dans la FAQ...

    J'ai une appli qui contient 2 DialogBar, et les 2 sont collées au bord gauche de la fenetre au démarrage:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    m_VoletProc.Create(this, IDD_VOLET_PROC, CBRS_LEFT | CBRS_TOOLTIPS | CBRS_FLYBY, IDD_VOLET_PROC)
    m_VoletLien.Create(this, IDD_VOLET_LIEN, CBRS_LEFT | CBRS_TOOLTIPS | CBRS_FLYBY, IDD_VOLET_LIEN)
    Et donc quand je démarre l'application, les 2 sont bien a gauche, mais la seconde est à droite de la première, et non pas en dessous
    C'est dommage, puisque justement je les avais prévues de la même largeur pour qu'elles s'empilent parfaitement. D'ailleurs si on les déplace à la main, on peut les empiler sans problème

    Est-ce que vous voyez comment faire pour qu'elles soit l'une au dessus de l'autre dès le lancement de l'appli ?

    Merci !

    (oh, et ps: à quoi sert le parametre CBRS_FLYBY ? je n'ai trouvé d'explication nul part ...)

    ~bigquick~
    And still we will be here, standing like statues ...

  2. #2
    Membre habitué Avatar de CriPpLe
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 157
    Points : 125
    Points
    125
    Par défaut
    Salut

    Msdn:

    virtual BOOL Create(
    CWnd* pParentWnd,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP,
    UINT nID = AFX_IDW_TOOLBAR
    );
    Parameters
    pParentWnd
    Pointer to the window that is the toolbar's parent.

    dwStyle
    The toolbar style. Additional toolbar styles supported are:
    CBRS_TOP Control bar is at top of the frame window.
    CBRS_BOTTOM Control bar is at bottom of the frame window.
    CBRS_NOALIGN Control bar is not repositioned when the parent is resized.
    CBRS_TOOLTIPS Control bar displays tool tips.
    CBRS_SIZE_DYNAMIC Control bar is dynamic.
    CBRS_SIZE_FIXED Control bar is fixed.
    CBRS_FLOATING Control bar is floating.
    CBRS_FLYBY Status bar displays information about the button.
    CBRS_HIDE_INPLACE Control bar is not displayed to the user.

    nID

    The toolbar's child-window ID.
    Return Value
    Nonzero if successful; otherwise 0.


  3. #3
    Membre averti
    Avatar de bigquick
    Profil pro
    Inscrit en
    Août 2002
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 356
    Points : 353
    Points
    353
    Par défaut
    Ah merci !

    J'avais cherché sur la MSDN, mais tout ce que j'avais pu trouver, c'est ça:
    http://msdn.microsoft.com/library/de...CDialogBar.asp

    ... et pas de mention de ces parametres ... c'est bizarre ....

    Sinon est-ce que tu as une idée pour le positionnement de la barre ?
    And still we will be here, standing like statues ...

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    apres le create je tenterais un SetWindowPos sur la deuxieme barre.


  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    re,
    en fait encore plus simple tu mets le flag :CBRS_TOP a la place de left ...

  6. #6
    Membre averti
    Avatar de bigquick
    Profil pro
    Inscrit en
    Août 2002
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 356
    Points : 353
    Points
    353
    Par défaut
    Alors, j'ai essayé avec SetWindowPos, mais on dirait que rien ne se passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_VoletLien.SetWindowPos(this,0,0,0,0,SWP_NOSIZE);
    Je vais essayer d'explorer plus en détail ...

    La 2ème solution, par contre, fait bien quelquechose, mais pas exactement ce que je veux. En fait, c'est une application SDI, et je voudrais les 2 barres sur le coté gauche. Là, elles sont bien l'une au dessus de l'autre, mais la vue (zone en blanc) ne se trouve qu'en bas a droite, vu que la 2ème DialogBar est dockée en haut ...


    Avec mes grands talents de dessinateur , voilà en gros à quoi ça ressemble:

    ce que je voudrais:

    ********
    *1* ...... *
    *** vue *
    *2* ...... *
    ********

    ce que j'obtiens:
    ********
    *1* vide*
    ********
    *2* vue *
    ********

    Voilà, je vais donc regarder la 1ere solution de plus près
    Merci en tout cas pour toutes ces idées
    And still we will be here, standing like statues ...

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/11/2005, 13h15
  2. Réponses: 18
    Dernier message: 03/11/2005, 13h00
  3. Réponses: 4
    Dernier message: 11/10/2005, 21h08
  4. Réponses: 3
    Dernier message: 29/10/2004, 13h54
  5. [Sans MFC]Faire clignoter l'icone d'une application?
    Par Melchisedec dans le forum MFC
    Réponses: 4
    Dernier message: 16/07/2003, 12h14

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