我想在对话框的一半的区域添加一个图片,该用什么方法啊?是用图象控件吗?图象控件该如何用啊?请高手指点,详细说以下,希望给个简单的代码例子,十分感谢

解决方案 »

  1.   

    添加一个Static,再添加一张图片,再将这个图片指定到Static即可。当然还要调整一下Static的位置与大小。还要在属里指定使用图片属性。
      

  2.   

    有个CPictuerEx类很好用,可以试下
    http://www.codeguru.com/cpp/g-m/bitmap/article.php/c4879/
      

  3.   

    怎样在Static属里指定使用图片属性,属性的样式下只有样式和边框两个选项可以下拉啊,没有图片属性啊,还有怎样将图片指定到Static啊?高手再指点下,谢谢
      

  4.   


    // MyDlg.h
    #include "stdafx.h"class CMyDlg : public CDialog
    {
        DECLARE_DYNAMIC(CMyDlg)    CStatic *m_pImg;
        CString m_strImagePath;public:
        CMyDlg(LPCTSTR lpszImagePath);
        ~CMyDlg();protected:
        virtual void DoDataExchange(CDataExchange* pDX);
        virtual BOOL OnInitDialog();
        DECLARE_MESSAGE_MAP()
    };
    // MyDlg.cpp#include "MyDlg.h"IMPLEMENT_DYNAMIC(CMyDlg, CDialog)CMyDlg::CMyDlg(LPCTSTR lpszImagePath)
    {
        m_pImg = NULL;    m_strImagePath = lpszImagePath;
    }CMyDlg::~CMyDlg()
    {
        if(m_pImg)
        {
            if(m_pImg->m_hWnd)
            {
                ::DeleteObject(m_pImg->SetBitmap(NULL));
                m_pImg->DestroyWindow();
            }
            delete m_pImg;
        }
    }BOOL CMyDlg::OnInitDialog()
    {
        If(::PathFileExists(m_strImagePath)) // 自己添加相应的库
        {
            HBITMAP hbm = (HBITMAP)::LoadImage(NULL, m_strImagePath, IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR|LR_DEFAULTSIZE|LR_LOADFROMFILE);
            if(hbm != NULL)
            {
                CBitmap *pbm = CBitmap::FromHandle(hbm);
                BITMAP bm = {0};
                pbm->GetBitmap(&bm);
                m_wndBmp = new CStatic;
                m_wndBmp->Create(NULL, WS_CHILDWINDOW|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE, CRect(0,0,bm.bmWidth,bm.bmHeight), this);
                pbm->Detach();
                ::DeleteObject(m_wndBmp->SetBitmap(hbm));
            }
        }
    }
      

  5.   

    把picture控件放到对话框中,右击该控件,选择属性,在类型中选择“位图”,在图像选项中选择“你要插入的图片”; 
    你要插入的图片可以在资源中导入~~~
      

  6.   


    楼上的方法最简单,LZ只需要准备好需要显示的bmp就OK
      

  7.   

    1、如果你画的是资源中的一个位图,那你可以用一个图片控件,将其属性中的type设置为Bitmap,然后再在Image属性的下拉列表框中选中你想要加载的那个图片的资源ID,这样图片就已经能显示出来了。2、如果你是想从磁盘上动态地读取一个图片来显示,为了简单,你在对话框的头文件中引入#include <atlimage.h>,并定义一个读取图片的类成员变量,CImage  m_backImage;并在你的对话框的OnInitDialog()函数里添加读取图片的代码,如下:   CString strPath = GetAppPath();//得到当前应用程序的路径,GetAppPath()是我写的一个函数,见后面的定义
       backImage.Load(strPath + "\\left.jpg");//这里的图片绝对路径你也可以自己设定
    然后在对话框的OnPaint函数中添加如下代码:
         CDC *pDC = GetDC();
        m_backImage.BitBlt(pDC->GetSafeHdc(),100,10);//具体的绘制在什么位置你可以自己设置
        ReleaseDC(pDC);3、在第一种情况下你也可以用第二种方法,不过加载图片时用如下函数:
        m_backImage.LoadFromResource(AfxGetResourceHandle(),IDB_BITMAP_LEFT);
      

  8.   

    http://www.nuli365.com/ShowFile.aspx
    test.rar
    c盘放一张bmp图片 1.bmphttp://www.nuli365.com/ShowFileData.aspx?ID=369
      

  9.   

    创建有个性的对话框之MFC篇:
    http://blog.csdn.net/orbit/archive/2005/08/23/463071.aspx
    http://blog.csdn.net/orbit/archive/2005/08/23/463077.aspx
      

  10.   

    fatal error C1083: Cannot open include file: 'atlimage.h': No such file or directory这个错误怎么改啊?
      

  11.   

    先在资源中导入需要的图片,取个名,比如取名为IDB_a1,在对话框中添加一个Static控件,设置其属性为图片,图片名为IDB_a1,在调整Static在对话框中的大小和位置
      

  12.   

    fatal error C1083: Cannot open include file: 'atlimage.h': No such file or directory这个错误怎么改啊?将该文件填加到工程中