最近在做一个录像回放器,由于之前的添加资源问题(未能成功添加动态.gif文件),现在改用一张图一张图画的方式。前期调试都没有问题,release之后双击打开.exe 读取文件 能正常运行  但是,如果把录像文件拖到.exe上打开 程序中动画的那个标签一开始就挂掉了 很诡异 然后查了半天 发现只要 用 Image 类创建一个对象 他就挂 注释掉这句 程序一开始就不挂 可问题是我整个动画中的图片都是 Image 类的对象 不知道是什么问题 我的代码是这样的 不过我觉得和代码好像没什么关系void table3::OnPaint()
{
CDialog::OnPaint();   CDC *pDC=GetDC();
   HDC hdc=pDC->GetSafeHdc();
   Graphics graphics(hdc);
  
    CString InitBlood(L"\\res\\blood2.gif");
    InitBlood = CurrentAddress + InitBlood;
    wchar_t WInitBlood[200];
    MultiByteToWideChar(CP_ACP, 0, InitBlood, -1, WInitBlood, 200);
   
  CString InitEnergy(L"\\res\\energy1.gif");
  InitEnergy = CurrentAddress + InitEnergy;
  wchar_t WInitEnergy[200];
  MultiByteToWideChar(CP_ACP, 0, InitEnergy, -1, WInitEnergy, 200);
 
  CString Welcome(L"\\res\\welcome.gif");
  Welcome = CurrentAddress + Welcome;
  wchar_t WWelcome[200];
  MultiByteToWideChar(CP_ACP, 0, Welcome, -1, WWelcome, 200); Image Test(L"C:\\Users\\lenovo\\Desktop\\replay.08sav3\\out\\res\\chart.bmp");
   Image InitRedLeft(WInitBlood);
   Image InitRedRight(WInitBlood);
   Image InitBlueLeft(WInitEnergy);
   Image InitBlueRight(WInitEnergy);
    
     graphics.DrawImage(&InitRedLeft,Point(170,100));
     graphics.DrawImage(&InitRedRight,Point(420,100));
     graphics.DrawImage(&InitBlueLeft,Point(170,140));
     graphics.DrawImage(&InitBlueRight,Point(420,140));
    
     Image WelcomeImage(WWelcome);
     graphics.DrawImage(&WelcomeImage,Point(120,210));关键问题就是 双击打开正常运行 拖文件上去就部分挂掉 求高手指点

解决方案 »

  1.   

    肯定是你逻辑的地方指针有问题~
    你还要判断Image构造出来是否为Ok
      

  2.   

    其实有可疑显示动态GIF动画的类,我有,给个邮箱
      

  3.   


    这种类我也找到过 但是在添加资源的时候有问题 我用VS2008 刚建好工程 添加资源 那个.gif的动画文件就变大了 而且只能显示第一帧了 很诡异 这个问题我前两天刚提过 不知道你这边是怎么添加资源的?? 跪求