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 :

dimension boite de dialogue non modale


Sujet :

MFC

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Points : 31
    Points
    31
    Par défaut dimension boite de dialogue non modale
    Salut,

    Je cherche a agrandir une boite de dialogue non modale, integrer a mon CformView.
    J'arrive donc a l'agrandir mais ca depasse de la fenetre principale de mon logiciel.
    Je voudrai que ca reste dans la fenetre principale mais que la fenetre principale propose des barres de defilement tout en gardant la meme taille ...
    Est ce possible ?? je pense que oui mais je ne trouve pas ........

  2. #2
    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
    bonsoir,
    graphiquement je ne comprends pas trop :
    une boite de dialogue non modale integrée dans une cformview ...
    si elle non modale est elle independante de la form .
    comment tu as implementé ça ?


  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    dsl pour la confusion de mes propos...;-)
    En fait ma boite de dialogue est placé tel qu'elle rentre dans ma fenetre d'application.
    Et je voudrai augmenter la taille de ma boite de dialogue sans augmenter pour autant la taille de la fenetre pricipale mais plutot creer des barres de defilement sur celle ci.
    J'espere que cela sera plus clair ...
    Merci de ton aide.

  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,
    quelque chose comme ça devrait faire l'affaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CRect Rect;
    AfxGetMainWnd()->GetClientRect(&Rect);
    SetWindowPos(NULL,0,0,Rect.Width(),Rect.Height(),SWP_NOZORDER );
    on recupere la surface client de l'application puis on change la taille de la fenetre à la position 0,0 .
    ça devrait etre bon a un chouia pres..

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Merci pour ton conseil farscape...
    Cela fonctionne toujours pas mais la solution reside, je pense aussi, dans cette fonction...
    mais je trouve toujours pas la combinaison qui ferait que ma fenetre non modale reste dans la zone client tout en etant plus grande ...
    Je ne desespere pas de trouver, si tu as une idée, n'hesites pas ;-)
    Si tu veux je peux t'envoyer une copie d'ecran pour que tu vos ce que ca fait ...[/img]

  6. #6
    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
    envoi !

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Salut farscape,

    Je t'ai envoyé l'image sur ton mail ...
    Pour ceux que ce sujet interesse, je donnerai bien sur la solution quand je l'aurai trouvé

  8. #8
    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 dehors du fait que ça ne resoud pas ce pb precis du dimenssionement ,tu n'aurais pas interet a mettre un splitter vertical et une formview a droite de l'ecran ?

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Salut,

    As tu recu l'image que je t'ai envoyé ??
    Sinon j'ai hesité a afficher mes infos sur la formview mais j'aimerai mettre une couleur differente sur ma dialogue non modale...
    Sinon je ne sais pas ce que c'est un splitter

  10. #10
    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
    oui j'ai bien le mail,
    Et bien un splitter ou rideau c’est comme dans l’explorateur Windows : la séparation entre la fenêtre dossier a gauche et le contenu à droite ,le rideau pouvant être déplacé par la souris.
    L’intérêt pour toi c’est de mixer deux classes différentes en une fenêtre globale :
    Une CListView et une CFormView séparée par le splitter.


  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Je me renseigne sur la question et merci bcp pour le tuyau ...
    Effectivement ca a l'air de correspondre a ce que je veux faire ...
    Par contre j'ai pas encore bien compris comment cela fonctionnait...
    Comment par exemple j'allai integrer mon CListCtrl ???

    Il va falloir que je revois tout mon projet si j'ai bien compris...;-) car il est pas possible de faire deriver ma classe view d'une CformView ...

  12. #12
    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,
    j'ai fais un exemple d'implementation d'un splitter sur un projet sdi en prevision d'un post dans le post it de la faq.
    http://farscape.developpez.com/Samples/SdiSplitter.zip

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Salut farscape,

    Merci pour toutes ces infos ...
    J'aurai une autre question concernant maintenant mon ListCtrl :
    Voila maintenant je créé un CListCtrl dans l'initial update de ma classe vue mais je ne sais pas comment intercepter des messages tel que le click sur un item ou le column click en ayant tous les parametres associés...
    En effet je connais la fonction oncmdmessage, j'arrive a intercepter les messages mais je ne sais pas les differencier et recuperer les parametres tel que le numero de la colonne ou de l'item...
    Merci de ton aide ...
    Apres ca ca devrait aller ;-)

  14. #14
    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,
    voir mon dernier post dans le post it de la faq :
    http://www.developpez.net/forums/vie...414538#1414538

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Oui mais dans le classwizard je n'ai pas d'identifiant pour la ClistCtrl car pas de ressources associés vu que le CListCtrl est integré à une CView ou CListView... c bien ca le probleme ...;-)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    BOOL CTelNoteView::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) 
    {
    	// TODO: Add your specialized code here and/or call the base class
    	if(nID==IDC_LIST_CONTACT)
    		[b]JE NE SAIS QUOI METTRE[/b]
    	return CView::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
    }

  16. #16
    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,
    mais si ,mais si ,
    dans une listview on a pas l'identifiant de la CListCtrl mais il suffit de descendre un petit peu dans la liste des messages sur la listview et tu verras les messages "reflect" du style ==NM_CLICK .....

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Merci bcp ...effectivement j'ai mes messages maintenant ...
    Par contre j'ai un nouveau probleme qui apparait que je ne comprends pas...
    J'explique :

    J'ai donc fait deriver ma classe de CListView, je recupere le pointeur sur le listctrl et quand je veux acceder au CHeaderCtrl ca plante ...
    Alors aurai je oublier quelque chose ???
    voici ce que je fais ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	CListCtrl* pList = &GetListCtrl();
     
    	pList->GetHeaderCtrl()->GetItemCount();
    Dans initial update de CMyClassView derivant de Clistview...
    Quand je debugge ca me dit que le hwnd du Cheaderctrl est nul ...

    Grrr j'en ai marre rien ne marche .........;-)
    Quand je crée un CListCtrl dans le programme ca marche mais j'ai plus les messages ...
    HElp !!

  18. #18
    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,
    9/10 que tu as place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CHeaderCtrl *pCtrl=theCtrl.GetHeaderCtrl();
    avant la sequence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    theCtrl.ModifyStyle(0,LVS_REPORT);
    donc le header n'existe pas et ça plante....

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Ca ne change malheureusement rien ...
    Je ne comprends pas ...
    Car ca fonctionne tres bien quand je créé un CListctrl avec la fonction Create...

  20. #20
    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
    hum c'est pas possible ..., montre moi ton code d'initialisation .

Discussions similaires

  1. [XL-2010] Boite de dialogue non modale propre à sa feuille
    Par RicardoBxl dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 29/11/2010, 18h08
  2. Réponses: 11
    Dernier message: 06/05/2008, 17h53
  3. Boite de dialogue non modale
    Par Orc_Fayeh dans le forum MFC
    Réponses: 4
    Dernier message: 19/02/2007, 22h25
  4. Afficher/Cacher Boite de dialogue non modale
    Par coco21 dans le forum MFC
    Réponses: 5
    Dernier message: 06/01/2007, 10h08
  5. Boite de dialogue non modale
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 25/12/2006, 21h46

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