刚上班,第一次接触MFC,公司就让我做个app,全部自己做。。我要疯了,完全不会菜鸟。请大家多指教。首先第一个问题,怎么把我现在做的对话框换成我要的背景呢 。貌似是
在resouce里面添加bitmap,然后在打上code,但是我import了以后各种添加不了。望指导,谢谢 

解决方案 »

  1.   

    void CFiveChessClientDlg::OnPaint() 
    {
    if (IsIconic())
    {
    CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle
    int cxIcon = GetSystemMetrics(SM_CXICON);
    int cyIcon = GetSystemMetrics(SM_CYICON);
    CRect rect;
    GetClientRect(&rect);
    int x = (rect.Width() - cxIcon + 1) / 2;
    int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon
    dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
    CDialog::OnPaint();
    }
    CDC* pDC = GetDC();
    CBitmap bmp1,bmp2,bk;
    CDC memdc;
    memdc.CreateCompatibleDC(pDC);
    bmp1.LoadBitmap(IDB_WHITE);
    bmp2.LoadBitmap(IDB_BLACK);
    bk.LoadBitmap(IDB_CHESSBOARD);
    memdc.SelectObject(&bk);
    pDC->BitBlt(0,0,663,664,&memdc,0,0,SRCCOPY);
    DrawChessboard();
    if (m_IsWin)
    {
    CPen pen(PS_SOLID,2,RGB(255,0,0));
    pDC->SelectObject(&pen);
    pDC->MoveTo(m_Startpt);
    pDC->LineTo(m_Endpt);
    }
    for (int m=0; m<row; m++)
    {
    for (int n=0; n<col; n++)
    {
    if (m_NodeList[m][n].m_Color == ncWHITE)
    {
    memdc.SelectObject(&bmp1);
    pDC->BitBlt(m_NodeList[m][n].m_Point.x-18,m_NodeList[m][n].m_Point.y-18,
    36,36,&memdc,0,0,SRCCOPY);
    }
    else if (m_NodeList[m][n].m_Color == ncBLACK)
    {
    memdc.SelectObject(&bmp2);
    pDC->BitBlt(m_NodeList[m][n].m_Point.x-18 ,m_NodeList[m][n].m_Point.y-18,
    36,36,&memdc,0,0,SRCCOPY);
    }
    }
    }
    bk.DeleteObject();
    ReleaseDC(&memdc);
    }
      

  2.   

    OnPaint函数中贴图即可StretchBlt()
      

  3.   

    MFC完全没用接触过?框架还是挺烦人的,建议快速充电,孙鑫的 VC++深入详解 还有视频教程,结合看,这样会快一点,不然真的无从下手
      

  4.   


    谢谢回复。我看到有bmp1,还有bmp2这是引导3张图吗??我不是很懂。感觉是cpen在画~不好意思耽误你时间,能解释下吗?
      

  5.   

    http://bbs.csdn.net/topics/390345172
    去看看这个帖子,看看里面提供的下载齐不齐