vs2003对话框背景怎样换成图片

解决方案 »

  1.   

    你可以处理wm_erasebkgnd贴张图上去,直接返回TRUE
    或者直接返回TRUE, 在wm_paint里贴图。
    或者直接direct ui。办法多了。
      

  2.   

    先在资源里导入你的位图,分配好ID号;
    在OnPaint()函数中:
    if (IsIconic())
       {……}
       else
       {
           //CDialog::OnPaint();把这个注释掉,不调用基类的OnPaint()       CPaintDC dc(this);       CDC memdc;
           memdc.CreateCompatibleDC(&dc);//创建兼容DC       CBitmap bkg;
           bkg.LoadBitmap(这里写你导入位图的ID号);//载入位图       BITMAP bkginfo;
           bkg.GetBitmap(&bkginfo);//获取位图信息       memdc.SelectObject(&bkg);       RECT rect;
           GetWindowRect(&rect);//获取对话框信息       dc.StretchBlt(0,0,rect.right-rect.left,rect.bottom-rect.top,&memdc,0,0,bkginfo.bmWidth,bkginfo.bmHeight,SRCCOPY);
     }
      

  3.   

    你可以处理wm_erasebkgnd贴张图上去,直接返回TRUE
    或者直接返回TRUE, 在wm_paint里贴图。
    或者直接direct ui。办法多了。
      

  4.   

    请问wmswxpmyl你说的wm_erasebkgnd具体怎么用,代码怎么写啊,能不能说详细点
      

  5.   

    在WM_ERASEBKGND中贴位图就行了。
    贴位图代码参照3楼。