none
vs2012加载位图 RRS feed

  • 问题

  • 创建WIN32 API项目,发现使用VC++6.0成功加载显示位图,但是复制相同代码进入VS2012,却不能加载显示位图,这是VS2012和VC++6.0之间的区别造成的吗,应该怎么解决

    代码如下:

    static HDC m_GroundDc ;

    case WM_PAINT:
       {
        hdc = BeginPaint(hWnd, &ps);
        // TODO: Add any drawing code here...
       
        HBITMAP m_GroundDc = (HBITMAP)LoadImage(NULL,"bmp\\ground.bmp", IMAGE_BITMAP,0,0,LR_LOADFROMFILE);  
        HDC m_srcDc= CreateCompatibleDC(hdc);
        SelectObject(m_srcDc, m_GroundDc);
        BitBlt(hdc, 100, 100, 32,32, m_srcDc, 0,0 ,SRCCOPY);

        EndPaint(hWnd, &ps);
        break;
       }

    求解?

    2013年5月24日 1:39

答案

  • HBITMAP m_GroundDc = (HBITMAP)LoadImage(NULL,"bmp\\ground.bmp", IMAGE_BITMAP,0,0,LR_LOADFROMFILE);  

    -->
    HBITMAP m_GroundDc = (HBITMAP)LoadImage(NULL,_T("bmp\\ground.bmp"), IMAGE_BITMAP,0,0,LR_LOADFROMFILE);  

    不过最好是使用绝对路径比较可靠一些。


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    2013年5月24日 11:14
    版主