怎样把一个图片作为对话框的背景
本人对VC++不是很熟,希望各位的答案能详细一点,谢谢!

解决方案 »

  1.   

    用picture控件,然后把图片导入资源中,设置即可
      

  2.   

    m_pBmp=new CBitmap();
    m_pBmp->LoadBitmap(IDB_BITMAP1);
    BITMAP bm;
    CDC dcMem;
    m_pBmp->GetObject(sizeof(bm),(LPVOID)(&bm));
    dcMem.CreateCompatibleDC(pDC);
    CBitmap *pBmpOld=dcMem.SelectObject(m_pMap);
    pDC->BitBlt(20,50,bm.bmWidth,bm.bmHeight,&dcMem,0,0,SRCCOPY);
    dcMem.SelectObject(pBmpOld);
      

  3.   

    http://www.csdn.net/develop/read_article.asp?id=9603
      

  4.   

    将PICTURE控件放入窗体中,回车,在属性对话框中选择GENERAL标签
    在TYPE下拉表单中选择想要导入的图片的类型
    在IMAGE处添上名字
    但只能导入256色图片
    双剑的可以正常导入,不丢色
      

  5.   

    BOOL CBkgndDlgDlg::OnEraseBkgnd(CDC* pDC) 
    {
    // TODO: Add your message handler code here and/or call default
    CBitmap* m_pbmp = new CBitmap();
    m_pbmp->LoadBitmap(IDB_BACKGROUND); BITMAP bm;
    CDC dcMem; m_pbmp->GetObject(sizeof(bm),(LPVOID)&bm); dcMem.CreateCompatibleDC(pDC);
    CBitmap *pBmpOld=(CBitmap *)dcMem.SelectObject(m_pbmp); CRect rcClient;
    GetClientRect(rcClient); pDC->StretchBlt(0,0,
    rcClient.right-rcClient.left,
    rcClient.bottom-rcClient.top,
    &dcMem,
    0,0,
    bm.bmWidth,bm.bmHeight,
    SRCCOPY); dcMem.SelectObject(pBmpOld); return TRUE;}
      

  6.   

    to 柠檬
    我建了一个对话框dialog ,我想把一个图片设置成它的背景,可是在
    MFC ClassWizard 的Message Maps选项卡中,当我在class name里选择dialog后,却找不到WM_ERASEBKGND这个消息,怎么回事?
      

  7.   

    选中要添加的类点右键,给此类添加一消息函数,如果是Dialog基类的话可能找不到WM_ERASEBKGND消息,你可以选择右下的消息过滤为Window,这样就有了。
      

  8.   

    MoveWindow(...)或者SetWindowPos(...)都能使对话框全屏显示,只是你得获得全屏的矩形大小。