MFC基于对话框的位图加载

       最近学VC++,遂写了简单的应用如文章标题,其实这个应用很常见。

         步骤1. 位图加载。通过位图的导入添加自己的位图,注意要是bmp格式。

         步骤2.创建一个Combo框,用于选择图片内容

         步骤3. 在onpaint()函数中将位图填充所选特定的区域

        

         当然这里只是实现基本功能:适合初学者。若有高手看有不正确的地方,请指正!

         程序代码:

1 .BOOL CLoadBitMapDlg::OnInitDialog()

  添加:

      // TODO: 在此添加额外的初始化代码
    
    // 添加背景选项
    ((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString(_T("汽车图片"));
    ((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString(_T("美女图片"));
    ((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString(_T("运动图片"));
    
    ((CComboBox*)GetDlgItem(IDC_COMBO1))->SetCurSel(0);

2. void CLoadBitMapDlg::OnPaint()

 添加:

int index; // 索引号
        index = ((CComboBox*)GetDlgItem(IDC_COMBO1))->GetCurSel();
        ((CComboBox*)GetDlgItem(IDC_COMBO1))->GetLBText(index, m_bitMap);
        // 创建位图对象
        CBitmap bitmap;
        // 加载位图资源
        if (m_bitMap == _T("汽车图片"))
            bitmap.LoadBitmapW(IDB_BITMAP1);
        if (m_bitMap == _T("美女图片"))
            bitmap.LoadBitmapW(IDB_BITMAP2);
        if (m_bitMap == _T("运动图片"))
            bitmap.LoadBitmapW(IDB_BITMAP3);


        // 创建位图画刷
        CBrush brush(&bitmap);
        // 创建并获得设备描述表
        CClientDC dc(this);
        CRect rect;
        GetClientRect(&rect);
        rect.left = 0;
        rect.right = 600;
        rect.top = 0;
        rect.bottom = 600;
        dc.FillRect(rect, &brush);
       
        // CDialog::OnPaint();

就这么简单:

      

   

        MFC基于对话框的位图加载_第1张图片

MFC基于对话框的位图加载_第2张图片

你可能感兴趣的:(mfc)