我想在ActiveX控件中加载位图,在控件中加入位图后,编译,在测试容器里测试都没有错,都能正常显示位图。但是当我把ActiveX控件Insert到创建的对话框中时,出现了非法操作提示,经过调试定位之后,发现错误出在加载位图那段代码。我加载位图是在ondraw里面进行的,应该是ondraw在刷新时位图本身已经存在,再加载的时候就报错了。控件中的代码是这样的:
CBitmap bitmap1;
bitmap1.LoadBitmap(IDB_Bridge);
CDC dcMemory1;
CBitmap* pOldBmp1;
dcMemory1.CreateCompatibleDC(pDC);
pOldBmp1=dcMemory1.SelectObject(&bitmap1);
pDC->BitBlt(m_ptOrigin.x+m_startposition/3,m_ptOrigin.y+m_D4Length+m_D5Length+m_D6Length+m_D7Length+m_D8Length,20,20,&dcMemory1,0,0,SRCCOPY);
dcMemory1.SelectObject(pOldBmp1);
bitmap1.DeleteObject();
我也试过在oncreate中添加代码,但貌似不能显示位图。请教各位大虾,怎样实现在ActiveX控件中加载位图后,又能在对话框中正确Insert控件呢?我指的是不出现非法操作提示。
IDB_Bridge 这个资源在哪里?
解决方案2:bitmap1.LoadBitmap(IDB_Bridge);成功没???
版权声明:本文为 “微课江湖” 原创文章,转载请附上原文出处链接及本声明;
原文链接:https://www.weikejianghu.com/program/mfc/20176/112333.html