BCB 调用动态库返回值是CBitmap类型
之前阿土的帖子也提到了类似问题
http://topic.csdn.net/u/20100812/21/96b6bc87-e7ac-4f0a-91da-4b5b1486bff6.html
最近我也遇到了同样的疑问
毛毛在贴中回复内容如下
动态库居然返回一个包装类,这种设计~~事件上返回一个HBITMAP就没问题了。
不说了,既然已经遇上了,偶的建议是先打开VC(要和编译这个DLL的VC一样的版本,编译参数也要尽量相同),用offsetof(CBitmap,m_hObject)取得m_hObject成员在CBitmap中的相对位置,如int offBmp = offsetof(CBitmap, m_hObject)。
然后用BCB,声明改成char* (GETPREVBITMAP)(HWND hwnd,int nBMPWIDTH,int nBMPHEIGHT);
取得这个char*指针后偏移offBmp就是HBITMAP了,接下来就好办鸟~~
我的疑问是需要把char*指针偏移offBmp后 直接(HBITMAP)转义后付给Bitmap->Handle吗?
但是测试了一下这样得到的Bitmap是空的
谁能具体解答下
http://topic.csdn.net/u/20100812/21/96b6bc87-e7ac-4f0a-91da-4b5b1486bff6.html
最近我也遇到了同样的疑问
毛毛在贴中回复内容如下
动态库居然返回一个包装类,这种设计~~事件上返回一个HBITMAP就没问题了。
不说了,既然已经遇上了,偶的建议是先打开VC(要和编译这个DLL的VC一样的版本,编译参数也要尽量相同),用offsetof(CBitmap,m_hObject)取得m_hObject成员在CBitmap中的相对位置,如int offBmp = offsetof(CBitmap, m_hObject)。
然后用BCB,声明改成char* (GETPREVBITMAP)(HWND hwnd,int nBMPWIDTH,int nBMPHEIGHT);
取得这个char*指针后偏移offBmp就是HBITMAP了,接下来就好办鸟~~
我的疑问是需要把char*指针偏移offBmp后 直接(HBITMAP)转义后付给Bitmap->Handle吗?
但是测试了一下这样得到的Bitmap是空的
谁能具体解答下
...全文
相关推荐
GDI+绘制GIF图标和解析DIB文件与绘制
描述中的源代码实现了直接从硬盘加载BMP文件,而不是依赖MFC的CBitmap类。通常,CBitmap只能加载资源中的位图,而不能直接处理文件。为了从硬盘加载并显示BMP,开发者需要:1.
MFC快速傅立叶变换
MFC可能通过调用Windows API函数或第三方库来实现这个过程。4. **复数到幅度转换**:FFT结果是复数,但在显示或分析时通常只关心幅度信息。
5-实验指导书_PID控制算法.docx
5-实验指导书_PID控制算法.docx
高校技术转移办公室人员如何利用平台提升技术成果的精准推介效率?.docx
高校技术转移办公室人员如何利用平台提升技术成果的精准推介效率?
产业园区运营负责人如何精准对接企业技术需求与科技成果?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。


