就是一个按钮的程序,编译可以通过,但是生成按钮后 一点击就会出现“TODO文件遇到问题需要关闭”
我图片的路径是正确的,而且如果不加Image img(_T("d:\\1.jpg"))这句话就没有问题void CgdipppDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CDC * cdc = GetDC();
HDC hdc = cdc->m_hDC;
Graphics mygra(hdc);
Image img(_T("d:\\1.jpg"));
         ReleaseDC(cdc);
}

解决方案 »

  1.   

    void CgdipppDlg::OnBnClickedButton1()
    {
      // TODO: 在此添加控件通知处理程序代码
      CDC * cdc = GetDC();
      HDC hdc = cdc->m_hDC;
      {   //=======================注意这儿, 加上一对花括号
         Graphics mygra(hdc);
         Image img(_T("d:\\1.jpg"));
      }  //=======================注意这儿, 加上一对花括号
      ReleaseDC(cdc);
    }
      

  2.   

    TODO:说明文件遇到问题需要关闭,对此引起的不便深感抱歉
      

  3.   

    Image img(_T("d:\\1.jpg")); 就这句,加上就不行,不加就没事
      

  4.   

    代码没问题, 可能其他地方错了.(可能button的资源问题)或者只写这句: Image img(_T("d:\\1.jpg"));试试. 如果只写这句是不用dc的.
      

  5.   

    还是不行啊 你看看我的GDI+配置有没有问题? 我是这样配置的:
    把ULONG_PTR m_gdiplusToken 作为C××App的public成员变量,
    然后在C××App::InitInstance()的最末尾加入:
    GdiplusStartupInput gsi;
    GdiplusStartup(&m_gdiplusToken,&gsi,NULL);
    然后在ExitInstance()中加入:
    GdiplusShutdown(m_gdiplusToken);
    然后在stdafx.h中的最后一个#endif之前加入:
    #include <gdiplus.h>
    using namespace Gdiplus;
    #pragma comment(lib,"gdiplus.lib")
    看看我这些配置代码的位置有没有问题?
      

  6.   

    GdiplusStartupInput gsi;
    gsi.SuppressBackgroundThread = TRUE;       //加入这句试下看看
    GdiplusStartup(&m_gdiplusToken,&gsi,NULL);
      

  7.   

    你的代码应该是没有问题的,关键是看你GDI+初始化对不对?
    ----------------------------------------------------------------------
    我大概知道原因了,
    然后在C××App::InitInstance()的最末尾加入:
    GdiplusStartupInput gsi;
    GdiplusStartup(&m_gdiplusToken,&gsi,NULL);
    //////////////////////////////////////////////////////////
    这两句不能加在末尾,加在末尾有问题的。 //加在这儿
          GdiplusStartupInput gsi;
         GdiplusStartup(&m_gdiplusToken,&gsi,NULL);
           CCXXXXXDlg dlg;
    m_pMainWnd = &dlg;
    INT_PTR nResponse = dlg.DoModal();
      

  8.   

    真的是这样啊,能告诉我一下原因么,另外这两句:GdiplusStartupInput gsi;和ULONG_PTR m_gdiplusToken;是做app的类的成员变量好呢,还是放在InitInstance()中好呢?
      

  9.   

    原因就是,你放在末尾根本就没有机会初始化啊,一般将ULONG_PTR m_gdiplusToken;放成成员变量中。