Image de fond Boite de dialogue MFC

cs_Caleos Messages postés 2 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 28 mars 2008 - 28 mars 2008 à 10:49
cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 - 28 mars 2008 à 13:47
Bonjour, voilà j'ai remarqué que beaucoup de sujet a propos de mon probleme ont été posé mais aucun d'eux ( ou je n'ai vraiment pas fait attention) ne m'aide a le resoudre. Alors voilà je travail sous Visual Studio 2005 et je veu mettre une image en fond de ma boite de dialogue, j'ai trouver du code pour le faire, sa fonctionne mais tous mes static ont leur fond toujour gris ( ce qui n'est pas très beau ), je voudrai qu'il deviennent transparent pour avoir juste l'écriture. Quelqu'un serait assez fort pour m'aider ?

Merci d'avance.

Caleos

2 réponses

cs_Caleos Messages postés 2 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 28 mars 2008
28 mars 2008 à 10:51
C'est de nouveau moi ou si quelqu'un a une méthode pour en afficher une sous visual 2005 sans qu'il y est ce gnere de probleme, je suis preneur.

Caleos
0
cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
28 mars 2008 à 13:47
Bonjour,

Voilà ce que j'utilise (Visual C++ 6.0) et ça fonctionne bien :

BOOL CALLBACK MainProc
(
    HWND   hWnd   // E:handle de la fenêtre
   ,UINT   uiMsg  // E:message à traiter
   ,WPARAM wParam // E:paramètre WPARAM
   ,LPARAM lParam // E:paramètre LPARAM
)                 // S:code de retour
{
   static HBITMAP hBitmapBg = NULL;
   static HBRUSH  hBrushBg  = NULL;



   switch(uiMsg)
   {
      // --- Initialiser la boîte de dialogue
      case WM_INITDIALOG :
      {
         ...



         // --- Créer le bitmap pour le fond
         // --- (BITMAP_??? = identificateur dans le fichier des ressources)
         hBitmapBg = (HBITMAP)LoadImage(gc_hInstance,(LPCTSTR)"BITMAP_???",IMAGE_BITMAP,0,0,0);
         hBrushBg  = CreatePatternBrush(hBitmapBg);



         ...
      }
      return TRUE;





      // --- Fond de la boîte de dialogue
      case WM_CTLCOLORDLG :
      return (BOOL)hBrushBg;






      // --- Contrôles STATIC
      // --- (pour voir l'image de fond sous les textes)
      case WM_CTLCOLORSTATIC :
      SetBkMode((HDC)wParam,TRANSPARENT);
      return (BOOL)hBrushBg;





      case ...
   }
   ...
}



Jean-François
0
Rejoignez-nous