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] affichage dans une boite de dialog


Sujet :

MFC

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2004
    Messages : 228
    Points : 102
    Points
    102
    Par défaut [mfc] affichage dans une boite de dialog
    salut pour mon apli je fait un boite non modale qui doit afficher un bmp ressource en fonction de l'identité de la classe qui demande la boite.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //specification de la memoire de la dll
    	AFX_MANAGE_STATE(AfxGetStaticModuleState());
    	CDialog_Affiche_Schema* dlg;
    	dlg = new CDialog_Affiche_Schema;
    	//creation d'une boite de dialogue non modale
    	dlg->Create(IDD_AfficheSchema);	
    	//affichage
    	dlg->ShowWindow(SW_SHOW);	
    	dlg->setRes(type);
    la derniere ligne remonte dans la classe de ma fenetre pour initiliser le bmp a afficher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void CDialog_Affiche_Schema::setRes(CString type)
    {
    	//idetification du type du demandeur
    	if(type == "PQI_Trans")//pqi_trans
    		_nIDRes = IDB_PQI_Trans;
                     this->OnPaint();
     
    }
    Et c dans OnPaint que j'affiche le bmp voulu en pensant que OnPaint est appelée a chaque dessin de la boite =< pendant le deplacement de la fenetre le truc c que si la fenetre sort de l'ecran le bmp ne s'affiche plus sur la partie qui est sortie de l'ecran !!!!
    MA question est : POURQUOI ??

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2004
    Messages : 228
    Points : 102
    Points
    102
    Par défaut pardon g oublier un truc
    la fonction on paint est reecrite comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    CDialog::OnPaint();
    	//apres avoir idetifier l'appelant => affichage du bon schema
    	CDC* pDC = this->GetDC();
    	CBitmap Bitmap; 
        CDC MemDC; 
     
        Bitmap.LoadBitmap(_nIDRes); // lecture bitmap dans les ressources 
        BITMAP InfosBmp; // structure d'informations. 
        Bitmap.GetBitmap(&InfosBmp); 
        MemDC.CreateCompatibleDC(pDC);// creation d'un DC en memoire 
        MemDC.SelectObject(&Bitmap); // selection du bitmap dans le DC en memoire 
        // transfert final du bitmap
        pDC->BitBlt( 0,0,InfosBmp.bmWidth, InfosBmp.bmHeight, 
                         &MemDC, 
                         0,0, 
                         SRCCOPY);

  3. #3
    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 330
    Points
    17 330
    Par défaut
    salut,
    pour afficher un fond dans un dialog /form il faut de placer dans le message WM_ERASEBKGND comme indiqué dans la faq:
    http://c.developpez.com/faq/vc/?page...gndBitmapOnDlg

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2004
    Messages : 228
    Points : 102
    Points
    102
    Par défaut merci
    merci ça marche pas de pb et aussi merci pour le lien sur codeguru
    une mine comme votre forum !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ascenseur dans une boite de dialog sous visual c++
    Par Minos2 dans le forum Visual C++
    Réponses: 1
    Dernier message: 26/06/2007, 19h40
  2. comment afficher un CString dans une boite de dialog?
    Par meera dans le forum Visual C++
    Réponses: 22
    Dernier message: 04/11/2006, 13h04
  3. Réponses: 1
    Dernier message: 03/11/2006, 22h23
  4. [MFC] Dessin dans une boite de dialogue .
    Par Platypus dans le forum MFC
    Réponses: 8
    Dernier message: 21/07/2005, 12h21
  5. affichage dans une boite de texte en fonction d'un choix
    Par bachilbouzouk dans le forum ASP
    Réponses: 3
    Dernier message: 19/04/2005, 15h53

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