我在对话框中加入了图像控件,点击按钮可以在控件中显示图片。可是当图片被遮挡后,图片会消失。我查资料好像是重绘的问题,需要在OnPaint()里加一些代码。要怎么写呢?试了好多方法都不行,请明白人帮忙下吧。

解决方案 »

  1.   

    图像控件不用处理OnPaint的,用SetBitmap根本不用考虑这个。
      

  2.   

    给段参考代码:
    HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetApp()->m_hInstance,_T("1.bmp"),IMAGE_BITMAP,0,0,LR_LOADFROMFILE);CStatic *p=(CStatic *)GetDlgItem(IDC_STATIC);
    p->SetBitmap(hBitmap);
    其中IDC_STATIC是图像控件ID
      

  3.   

    我用的是一个叫CBitmapEx的类,网上下载的。
    那应该在哪加代码呢?
      

  4.   


    那好用了,把 .cpp和.h文件导入工程,这个类就导入了。然后include .h头文件就可以用了
      

  5.   

    打开图片已经成功了,问题是如果打开的图片被其他程序覆盖,覆盖的部分就会消失。应该是MFC让对话框重绘,而没有重绘图片。这里的问题怎么解决呢?
      

  6.   

    这个本来就是显示图片的代码,不过LoadImage是打开图片的,我这里打开的是文件1.bmp,如果你用位图资源的话,用LoadBitmap也行。
    你不是点一个按钮就显示图片吗?放在一个按钮中就行了。