用evc显示位图,显示不出。

xilahuo   2010-5-20 10:26 楼主
int CCText2View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
        if (CView::OnCreate(lpCreateStruct) == -1)
                return -1;
        HWND hWnd;
        HBITMAP hBitmap;
       
//   static CBitmap bitmap;
        hBitmap=SHLoadDIBitmap((unsigned short *)"res\bitmap1.bmp");
  //  ((CBitmap*)hBitmap)->LoadBitmap(IDB_BITMAP1);
        CreateCaret(hWnd,hBitmap,50,20);
        ShowCaret();
        return 0;
}


void CCText2View::OnLButtonDown(UINT nFlags, CPoint point)
{
    SetCaretPos(point);       
        CView::OnLButtonDown(nFlags, point);
}


这是我的程序,编译通过了,但是运行结果显示不出图片,怎么回事啊,我用鼠标单击也没反应啊

回复评论 (32)

补充下,我用的是evc自带的模拟器。
点赞  2010-5-20 10:26
我知道哪错了,要有当前窗口的句柄,用GetSafeHwnd(),得到
点赞  2010-5-20 10:50
但是现在的问题是hBitmap=SHLoadDIBitmap((unsigned short *)"res\bitmap1.bmp")这句得到的hBitmap是空的,怎么的到位图的句柄呢?
点赞  2010-5-20 11:04
顶起刷分哈
点赞  2010-5-20 11:08
CE下必须使用全路径,也就是说你的图片文件的路径不对!!
点赞  2010-5-20 13:01

7楼 qwx 

是啊,我也觉得不对,试了很多种路径名都不对。hBitmap=SHLoadDIBitmap 的hBitmap总是空的。
在电脑(真机)上我的图片在C:\\Program Files\\Microsoft eMbedded C++ 4.0\\Common\EVC\\MyProjects\\CText2\\res\\bitmap1.bmp  这个路径下,是不是
把这个路径放入SHLoadDIBitmap()里就可以?用"\\"还是"\"?
网上看到什么根路径,我的bmp文件的文件名是 res\bitmap1.bmp 这个和所谓的根路径有什么关系?
点赞  2010-5-20 13:30
在设备或模拟器上,路径是以:\\开始的,不可能有盘符啊!
点赞  2010-5-20 13:38
在我的编程的pc上我导入的那个bmp文件的路径是  C:\\Program Files\\Microsoft eMbedded C++ 4.0\\Common\EVC\\MyProjects\\CText2\\res\\bitmap1.bmp   程序运行结果在evc自带的那个wince虚拟机上看


我把C去掉后,以:\\开始的话还是得不到图片啊。。。。
点赞  2010-5-20 13:45
如放到Windows目录下
就是\\Windows
点赞  2010-5-20 13:46
joyzml   你的意思是  bmp文件放在windowsxp系统上,SHLoadDIBitmap()函数里的路径就要用\\   ?
点赞  2010-5-20 13:54
你们说的 路径是  wince模拟器上的路径还是bmp在自己电脑(真机)存放位置的路径
点赞  2010-5-20 14:02
file:///C:/Documents%20and%20Settings/Administrator/桌面/QQ截图未命名.png
这是bmp文件在我的工程里的位置,bmp文件是在这地方吗?
点赞  2010-5-20 14:14
BMP只能放在设备或模拟器上,不能指定PC上的目录
点赞  2010-5-20 14:56
比如  我的工程名字是  CText2       bmp文件是bitmap1.bmp   运行时要把工程下载到模拟器上,是不是这时
的路径应该 是  :\\CText2\bitmap1.bmp    ?
点赞  2010-5-20 15:11
CText 只在  我的电脑  下
点赞  2010-5-20 15:12
补充一下  在导入  bmp 文件后 右击可以看到  filename的编辑框里写着  res\bitmap1.bmp  是不是
:\\CText2\res\bitmap1.bmp 这样?但这样也不行啊
点赞  2010-5-20 15:27
图片一定要在设备或模拟器上,和PC上在什么目录无关的
点赞  2010-5-20 16:10
为什么bitmap1.bmp文件在虚拟机里找不到?是不是在exe文件里?
点赞  2010-5-20 16:21
91program   能不能举个例子  就比如 bitmap1.bmp吧,在evc中它在Bitmap文件里,但程序运行了他在模拟器的哪里啊,如果在Windows文件夹里,这个路径是 怎么样的形式?

我没有evc的书,网上说的有很多种类,你给个标准答案吧。
点赞  2010-5-20 16:39
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复