程序打包后,对话框背景和图片按钮的图片都不能显示,在相应位置单击后按钮图片才显示,但是背景还是无法显示,这是为什么啊?怎么解决呢?请教各位……

解决方案 »

  1.   

    你是不是没有在OnPait()或者OnDraw中添加相应的刷新函数哦。
    你那个加载位图资源的程序写在哪里的?
      

  2.   

    加载位图资源的程序写在OnPaint() 中啊,代码如下:
    CBitmap bitmap;

    CString patch=_T(".\\picture\\CHT3561.bmp"); 
    bitmap.m_hObject=(HBITMAP)::LoadImage(NULL,patch,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);

    //--------------------------------------//
    CBrush brush(&bitmap);//建立画刷,用上面的图片
    dc.SelectObject(brush);
    dc.SetBkMode(OPAQUE);//设置填充模式
    CRect rect;//
    GetClientRect(rect);//获得客户区大小
    dc.Rectangle(rect); //画矩形,并用图片的画刷填充
      

  3.   

    你这么写是有问题的,这样子的话每次OnPaint都要重新Load,如果文件找不到就显示不出来
      

  4.   

    如果你这样写的话,在发布的时候也要把图片打包进去,并放在相应的..\picture\目录下,这样就可以显示图片了。最好的做法是把图片作为资源文件加入到工程中,这样不用每次都重新load
      

  5.   

    感谢楼上,那么
    CString patch=_T(".\\picture\\CHT3561.bmp"); 
    bitmap.m_hObject=(HBITMAP)::LoadImage(NULL,patch,IMAGE_BITMAP,0,0,LR_LOADFROMFILE); 
    应该替换成什么代码呢?