小弟刚开始学用VC,请问怎么在窗口上加一个背景图片啊,谢谢。

解决方案 »

  1.   

    什么样的窗口,方法不一样的。
    对话框设背景最简单的方法是加入Picture控件,设置其属性。最后设其Tab顺序为1
      

  2.   

    1,加背景图片:
    CPaintDC dc(this);
    CRect rect;
    GetClientRect(&rect);
    CDC dcMem;
    dcMem.CreateCompatibleDC(&dc);
    CBitmap bmpBK;
    bmpBK.LoadBitmap(IDB_BITMAP);
    BITMAP bitMap;
    bmpBK.GetBitmap(&bitMap);
    CBitmap* pOld=dcMem.SelectObject(&bmpBK);
    dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY);
    2.文字可以用static,
     从文件读出的内容放入一临时变量,
    让后SetTimer,在处理函数中将每次应该显示的文字显示出来,应该能行!
      

  3.   

    LoadBitmap()直接加载bmp图片文件,然后华上去
      

  4.   

    在对话框窗口加入图片的方法:
    1、首先添加要加入的图片,把图片加入到资源中。
    2响应这个消息WM_ERASEBKGND
      在这个消息处理函数中加入
    BOOL ClDlg::OnEraseBkgnd(CDC* pDC)
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    CBitmap bitmap;
    bitmap.LoadBitmap(IDB_BITMAP1);
    CDC memdc;
    memdc.CreateCompatibleDC(pDC);
    CBitmap *p= memdc.SelectObject(&bitmap);
    BITMAP bm;
    bitmap.GetBitmap(&bm);
    pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&memdc,0,0,SRCCOPY);
    bitmap.DeleteObject();
    memdc.SelectObject(p);
    return true; //return CDialog::OnEraseBkgnd(pDC);
    }
      

  5.   

    同意楼上的兄弟,在OnEraseBkgnd实现,