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 :

'static text' avec transparant à vrai non transparant


Sujet :

MFC

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut 'static text' avec transparant à vrai non transparant
    Slt,

    j'affiche une image sur ma fiche avec :

    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
    BOOL DlMenu::OnEraseBkgnd(CDC* pDC)
    {
    	CBitmap Bitmap;
        CDC MemDC;
     
    	Bitmap.LoadBitmap(IDB_BITMAP2); // 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 dans le dc de la view.
        pDC->BitBlt( 0,0,InfosBmp.bmWidth, InfosBmp.bmHeight,
                         &MemDC,
                         0,0,
                         SRCCOPY); 
     
    	return TRUE;
    Or cette fiche contient des texte static que j'ai mis transparant mais qui apparaissent en gris sur l'image,

    comment éviter cela et voir mon texte sur l'image sans ce fond gris ?

    merci beaucoup

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    vraiment personne ne voit pourquoi ?

  3. #3
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    C'est un problème auquel je n'ai jamais trouvé de solution. En fait, pour Visual, le transparent c'est le gris (couleur par défaut des fenêtre, dialog boxes, etc.).
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    c'est pas vrai !!!!

    comme c'est nul si ce que tu dis es vrai !

    jsuis deg !!

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    héhé !!

    j'ai trouvé ! enfin, j'ai trouvé le code d'un gars qui sait et ca marche bien !

    look here

    ca marche trop bien

    et ca donne :

    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
    HBRUSH CDlAccueil::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    	HBRUSH hbr;
     
    	if( nCtlColor == CTLCOLOR_STATIC )
    	{
    		pDC->SetBkMode(TRANSPARENT);
    		hbr = (HBRUSH)GetStockObject( NULL_BRUSH );
    	}
     
    	else
    	{
    		hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    	}
     
    	return hbr;
    }

  6. #6
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    gg man
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  7. #7
    Invité
    Invité(e)
    Par défaut
    C'est sur, en cherchant un peu dans la FAQ, on trouve ! :p

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

Discussions similaires

  1. Texte avec arrière plan transparent
    Par papyxy dans le forum VBScript
    Réponses: 2
    Dernier message: 23/05/2013, 17h07
  2. rendre l'arrière plan de static text transparent
    Par Marie_7 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 06/12/2012, 21h19
  3. Modifier la valeur d'un Static Text avec java
    Par rolls dans le forum iReport
    Réponses: 1
    Dernier message: 24/08/2012, 10h53
  4. Enregistrer QImage avec fond blanc et non transparent
    Par 0_Azerty_0 dans le forum Débuter
    Réponses: 16
    Dernier message: 19/04/2012, 09h58
  5. Rendre un objet Static Text transparent
    Par Mr Strummer dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 01/06/2007, 15h10

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