BCB 调用动态库返回值是CBitmap类型

baby52u baby52u 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
之前阿土的帖子也提到了类似问题
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是空的

谁能具体解答下
...全文
评论 7
收藏 已收藏
分享
返回顶部
baby52u
C++ Builder 13,871 成员 102,696 内容