Changer couleur et bckgrnd MFC dialog

DooMThEFlamE Messages postés 6 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 22 janvier 2005 - 14 mars 2004 à 23:54
gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009 - 4 mai 2004 à 19:48
Je me demande comment insérer une image de bckgrnd sur un dialog en mfc ou meme comment changer la couleur de fond
%-6 vive MFC

2 réponses

crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 1
15 mars 2004 à 11:21
Salut,

Je suis pas du tout sur que ca marche mais peut etre que ca pourrai t'aider :
Pour faire ce dont tu parle tu pourrai créer un nouvelle classe dérivé de CDialog. En effet (cf MSDN), la class CDialog dérive de CWnd alors je pense qu'en redéfinnissant quelques fonction de cette classe tu pourra peut etre arriver a ton but.

Je te souhaite bonne chance,
A+,Hart
0
gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009
4 mai 2004 à 19:48
essai ca:
mais avant va dans class wizard puis onglet Class info,
dans "message filter" choisis window, puis reviens dans "message maps" puis là selectionne l'evenement message WM_ERASEBKGND, edit le code et insere celui ci dessous
(defini une bitmap dans les ressource nommé: IDB_BITMAP_FOND)

BOOL CTraitement_fichierDlg::OnEraseBkgnd(CDC* pDC)
{
CBitmap bmp;
CBitmap *ptrBmpOld;
CDC dcMemory;
BITMAP bm;
CRect rect;
int i,j;
int nHor,nVer;

bmp.LoadBitmap(IDB_BITMAP_FOND);
bmp.GetBitmap(&bm);
GetClientRect(rect);
nHor = rect.Width()/bm.bmWidth+1;
nVer = rect.Height()/bm.bmHeight+1;
dcMemory.CreateCompatibleDC(pDC);
ptrBmpOld=dcMemory.SelectObject(&bmp);

for (i=0;i<nHor;i++)
{
for (j=0;j<nVer;j++)
{
pDC->BitBlt(
i*bm.bmWidth,
j*bm.bmHeight,
bm.bmWidth,
bm.bmHeight,
&dcMemory,
0,
0,
SRCCOPY);
}
}
dcMemory.SelectObject(ptrBmpOld);
return TRUE;

}
0
Rejoignez-nous