谢谢

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topicview.asp?id=1655962
      

  2.   

    http://expert.csdn.net/Expert/topicview.asp?id=1655962
    dxhdxh2k (dxhdxh) 讲得不错!
      

  3.   

    void CLoginDlg::OnPaint() 
    {
    CPaintDC dc(this); // device context for painting

    // TODO: Add your message handler code here
    CBitmap m_bitmap;
    CDC memDC;
    memDC.CreateCompatibleDC(&dc);
    m_bitmap.LoadBitmap(IDB_LOGIN);
    memDC.SelectObject(&m_bitmap);
    dc.BitBlt(25,40,165,227,&memDC,0,0,SRCCOPY);

    // Do not call CDialog::OnPaint() for painting messages
    }
      

  4.   

    一.设置对话背景:
    如果你想用1位图作为对话背景,提供下面方法:
    重载 OnPaint 函数,对话框的 OnPaint 默认有两个处理,在第二个中加入这些代码: 
    if (IsIconic()) 

    ... 
    ... 

    else 

    // 开始画背景 
    CPaintDC dc( this ); 
    CDC back; 
    CBitmap bmp; bmp.LoadBitmap( IDB_BITMAP1 ); // 建立背景图片 
    back.CreateCompatibleDC( &dc ); // 建立一个图形缓冲并载入背景图 
    back.SelectObject( &bmp ); dc.BitBlt( 0, 0, 100, 100, &back, 0, 0, SRCCOPY ); // 画在对话框中,可以把 100, 100 改成具体的对话框大小 bmp.DeleteObject(); 
    CDialog::OnPaint(); 
    } 二:设置控件背景:
    1 设置CStatic控件背景:
    (1).从CStatic派生一个类CMyStatic;
    (2).添加成员变量CBrush m_Brush;
    (3).
    CMyStatic::CMyStatic()
    {
    m_Brush.CreateSolidBrush(RGB(197,200,208));
    }
    (4)响应=WM_CTLCOLOR消息:
    HBRUSH CMyStatic::CtlColor(CDC* pDC, UINT nCtlColor) 
    {
    // TODO: Change any attributes of the DC here pDC->SetTextColor(RGB(0,0,0));
    pDC->SetBkMode(TRANSPARENT);  // TODO: Return a non-NULL brush if the parent's handler should not be called
    return (HBRUSH)m_Brush;
    }
    其它控件和它类似。
      

  5.   

    CPaintDC dc(this);
    CRect rect;
    GetClientRect(rect);CDC *pMemDC=new CDC;
    CBitmap bmpTitle;
    CBitmap *poldBitmap;
    BITMAP bmpTemp;if (pMemDC)
    {
    bmpTitle.LoadBitmap(IDB_BITMAP);
    bmpTitle.GetObject(sizeof(BITMAP),&bmpTemp);pMemDC->CreateCompatibleDC(&dc);
    poldBitmap=pMemDC->SelectObject(&bmpTitle);
    dc.StretchBlt(0,0,rect.right,rect.bottom,pMemDC,0,0,bmpTemp.bmWidth,bmpTemp.bmHeight,SRCCOPY);
    pMemDC->SelectObject(poldBitmap);
    delete pMemDC;
    }