MFC措施如何实现给对话框添加配景图片
当前位置:以往代写 > C/C++ 教程 >MFC措施如何实现给对话框添加配景图片
2019-06-13

MFC措施如何实现给对话框添加配景图片

MFC措施如何实现给对话框添加配景图片

1.插入一个Bitmap的资源图片,假设资源名称为:IDC_BITMAP1

2.在CXXXDialog::OnPaint()中实现:

void CMyDialogDlg::OnPaint()  
{  
    if (IsIconic())  
    {  
        CPaintDC dc(this); // 用于绘制的设备上下文  
      
        SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);  
      
        // 使图标在事情区矩形中居中  
        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;  
      
        // 绘制图标  
        dc.DrawIcon(x, y, m_hIcon);  
    }  
    else
    {  
        //  
        // 给窗体添加配景  
        //  
        CPaintDC dc(this);  
        CRect rc;  
        GetClientRect(&rc);  
        CDC dcMem;  
        dcMem.CreateCompatibleDC(&dc);  
        CBitmap bmpBackground;  
        bmpBackground.LoadBitmap(IDB_BITMAP1);  
      
        BITMAP bitmap;  
        bmpBackground.GetBitmap(&bitmap);  
        CBitmap* pbmpPri = dcMem.SelectObject(&bmpBackground);  
        dc.StretchBlt(0,0,rc.Width(), rc.Height(), &dcMem,0,0,bitmap.bmWidth, bitmap.bmHeight, SRCCOPY);  
    }  
}

    关键字:

在线提交作业