我在2000下一样可以设背景设的 如果还是原来的代码的话 rebuild all试试
如果不是   对照原来的看看是不是漏了什么

解决方案 »

  1.   

    不是你所说的,就是原来的代码,也是原来的程序,在2000下编译后,设置背景没有现象,那个程序在ME下就可以实现设置背景!??????why???
    难道是我的2000有问题???????
      

  2.   

    OnCtrlColor()是控件颜色改变后的消息处理函数。
    试试OnEraseBack()(这个消息名记的不太清了,你可查查MSDN),我在2000中用这个消息重画对话框背景完全成功。
      

  3.   

    另有一个更直接简单的方法:在对话框DoModel()前用SetDialogBkColor(RGB(200,200,250),RGB(255,0,0));
    上面的OnEraseBack()应该为OnEraseBKgnd();
      

  4.   

    CMyDialog::OnCtrlColor(...)
    { CBitmap bm;
      bm.LoadBitmap(ID_BMP);
      CBrush bs(&bm);
      pDC->SelectObject(&bs);
      return bs;
    }
    /////大致是这样写的,具体记不清了
      

  5.   

    你是要设置北极图片还是背景色,设置背景色是这样的 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;