Picture Control 打开图片

来源:互联网 发布:博易大师画横虚线源码 编辑:程序博客网 时间:2024/05/01 04:45
要使用CImage类 要先在引入atlimage.h头文件在窗口OnPaint()中添加Show_picture();
void CCMFCDlg::OnBnClickedOk(){    CFileDialog cfd(true,        _T(".jpg"),        NULL,        OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,        _T("图片文件 (*.jpg;*.bmp;*.png;*.gif)|*.jpg;*.bmp;*.png;*.gif|所有文件 (*.*)|*.*||"),        this);  //选择图片的对话框    if(cfd.DoModal()!=IDOK) //判断是否获得图片    {        return;    }    m_path = cfd.GetPathName();  //获得图片路径    UpdateData(false);  //更新路径公共变量    Show_picture();  //调用显示图片函数} //显示图片函数void CCMFCDlg::Show_picture(){    if(m_path=="")  //判断图片路径是否存在    {        return;    }    CWnd *m_picture = GetDlgItem(IDC_STATIC1);    CImage image;  //使用图片类    image.Load(m_path);   //装载路径下图片信息到图片类    CRect rect;    m_picture->GetClientRect(&rect);  //获得控件的区域对象    CDC* pDC = m_picture->GetWindowDC();  //获得显示控件的DC    image.Draw(pDC->m_hDC, rect);  //图片类的图片绘制Draw函数    ReleaseDC(pDC);}
以下是显示BITMAP图片
    HBITMAP bitmap=(HBITMAP)LoadImage(        AfxGetInstanceHandle(),        L"C:\\WINDOWS\\Blue Lace 16.bmp",        IMAGE_BITMAP,0,0,LR_LOADFROMFILE);    ASSERT(bitmap);    CStatic *img = (CStatic*) GetDlgItem(IDC_STATIC1);    img->SetBitmap(bitmap);    img->Invalidate();
原创粉丝点击