你是要设置北极图片还是背景色,设置背景色是这样的 LOGBRUSH brush; brush.lbStyle =BS_SOLID; brush.lbColor =RGB(0,0,0); //black color //brush.lbHatch = ; //be ignored when lbStyle = BS_SOLID hbr= CreateBrushIndirect (&brush); switch(nCtlColor) { case CTLCOLOR_LISTBOX: SetBkMode (*pDC, OPAQUE); break; } // TODO: Return a different brush if the default is not desired return hbr;
难道是我的2000有问题???????
试试OnEraseBack()(这个消息名记的不太清了,你可查查MSDN),我在2000中用这个消息重画对话框背景完全成功。
上面的OnEraseBack()应该为OnEraseBKgnd();
{ CBitmap bm;
bm.LoadBitmap(ID_BMP);
CBrush bs(&bm);
pDC->SelectObject(&bs);
return bs;
}
/////大致是这样写的,具体记不清了
brush.lbStyle =BS_SOLID;
brush.lbColor =RGB(0,0,0); //black color
//brush.lbHatch = ; //be ignored when lbStyle = BS_SOLID
hbr= CreateBrushIndirect (&brush);
switch(nCtlColor)
{
case CTLCOLOR_LISTBOX:
SetBkMode (*pDC, OPAQUE);
break;
}
// TODO: Return a different brush if the default is not desired
return hbr;