社区
ATL
帖子详情
各位高手请指点一下,控件事件传出图片的问题
huazaimh
2009-12-31 09:00:54
现在有一个控件,我想通过事件把图片作为参数传出去,可是不管如何实验,都有问题
事件的原型,void OutBayEvent(BSTR Pic, long lPicLen, BSTR szEventInfo);
不管我如何来传,感觉数据是传出去了,可是在处理的时候,收到的数据老是不对
我在应用程序写文件的时候,里面的数据不对,写的文件也不能显示
请各位高手,指点一下,急!急!急!
另外:分不够可以另开贴给分,只要能解决问题!
...全文
114
6
打赏
收藏
各位高手请指点一下,控件事件传出图片的问题
现在有一个控件,我想通过事件把图片作为参数传出去,可是不管如何实验,都有问题 事件的原型,void OutBayEvent(BSTR Pic, long lPicLen, BSTR szEventInfo); 不管我如何来传,感觉数据是传出去了,可是在处理的时候,收到的数据老是不对 我在应用程序写文件的时候,里面的数据不对,写的文件也不能显示 请各位高手,指点一下,急!急!急! 另外:分不够可以另开贴给分,只要能解决问题!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huazaimh
2009-12-31
打赏
举报
回复
在控件中,没有图片类型,不知道是不是我选的数据类型有问题
因为涉及到转换
这个是控件外的调用程序里面的代码:
void CTestRVDlg::OnTEventCamrvctrl1(BSTR FAR* Pic, long lPicLength)
{
CString strPic(*Pic);
BYTE *p = new BYTE[lPicLength];
memcpy(p,strPic.GetBuffer(0),strPic.GetLength());
CFile PicFile;
if(PicFile.Open("Test.jpg",CFile::modeCreate|CFile::modeWrite))
{
PicFile.Write(p,lPicLength);
PicFile.Close();
}
}
void CTestRVDlg::OnButton1()
{
m_ctrlRV.AddDev("");
}
void CTestRVDlg::OnOutBayEventCamrvctrl1(LPCTSTR Pic, long lPicLen, LPCTSTR szEventInfo)
{
char *str = new char[lPicLen];
wsprintfA(str, "%S ",Pic);
CFile PicFile;
if(PicFile.Open("TestX.jpg",CFile::modeCreate|CFile::modeWrite))
{
PicFile.Write(str,lPicLen);
PicFile.Close();
}
}
下面这一段是控件里面的代码(传出部分):
char tmpbuf[200];
sprintf(tmpbuf,"%s",szCameraIP);
adddev(inet_addr(tmpbuf),512,680,150);//可以增加多个IP地址
ResetDll(this->m_hWnd);
CFile PictureFile;
CFileException e;
if(PictureFile.Open("ITS31.jpg",CFile::modeRead|CFile::typeBinary,&e))
{
long lPicLen = PictureFile.GetLength();
char *Pic = new char[lPicLen];
memset(Pic,0,lPicLen);
if(PictureFile.Read(Pic,lPicLen)<=0)
AfxMessageBox("Read Pic File ERR!");
FireOutBayEvent(LPCTSTR(Pic),lPicLen,"图片文件");
// CComBSTR str(Pic);
BSTR bstrTmp;
//char str[]="ABCDE";
bstrTmp = _com_util::ConvertStringToBSTR(Pic);
FireTEvent(&bstrTmp,lPicLen);
delete Pic;
}
实际中的应用不是这样的,这个是我为了测试来做一个事件,请各位指点一下!谢谢!
oyljerry
2009-12-31
打赏
举报
回复
FireOutBayEvent的Pic中存放图片地址,传递过去
huazaimh
2009-12-31
打赏
举报
回复
可是事件中,没有一个void类型
事件的原型啊,
void FireOutBayEvent(LPCTSTR Pic, long lPicLen, LPCTSTR szEventInfo)
{FireEvent(eventidOutBayEvent,EVENT_PARAM(VTS_BSTR VTS_I4 VTS_BSTR), Pic, lPicLen, szEventInfo);}
我的QQ:44190484,请各位高手指导一下,谢谢!
yxwsbobo
2009-12-31
打赏
举报
回复
最简单弄全局变量。。
OutBayEvent是什么函数的原型? 相应事件的原型好像不是这样
可以只传一个VOID 类型的地址,然后在这个地址中转换为存放图片的地址,WINDOWS自己很多也是这样做的
oyljerry
2009-12-31
打赏
举报
回复
[Quote=引用 5 楼 huazaimh 的回复:]
已经解决,用VARIANT类型
void OutBayEvent(VARIANT varPic, long lPicLen, BSTR szBayInfo);
具体的实现如下:
VARIANT varPic;
varPic.pbVal = new BYTE[pinfo.piclen];
memset(varPic.pbVal,0,pinfo.piclen);
memcpy(varPic.pbVal,pinfo.pic,pinfo.piclen);
FireOutBayEvent(varPic,pinfo.piclen,strMsg);
[/Quote]
varPic.pbVal = new BYTE[pinfo.piclen];
记得用完了,delete释放
huazaimh
2009-12-31
打赏
举报
回复
已经解决,用VARIANT类型
void OutBayEvent(VARIANT varPic, long lPicLen, BSTR szBayInfo);
具体的实现如下:
VARIANT varPic;
varPic.pbVal = new BYTE[pinfo.piclen];
memset(varPic.pbVal,0,pinfo.piclen);
memcpy(varPic.pbVal,pinfo.pic,pinfo.piclen);
FireOutBayEvent(varPic,pinfo.piclen,strMsg);
C#自定义
控件
库
9. **调试与测试**:在开发过程中,确保对自定义
控件
进行充分的测试,检查其在不同环境、不同状态下的表现,及时发现和修复
问题
。 总的来说,"C#自定义
控件
库"涵盖了软件开发中
控件
设计与定制的多个方面,包括UI...
利用MFC的Picture
控件
显示图像和视频/摄像头画面(VS2008+OpenCV2.0)
MFC Picture
控件
是MFC框架提供的一种用于显示图像的
控件
,它可以显示BMP、JPEG、GIF等格式的
图片
。在MFC应用中,通常会将Picture
控件
添加到对话框类的资源中,然后在代码中设置其显示的图像。 2. **OpenCV 2.0**:...
漂亮的.Net
控件
一个为RadioButton
控件
,(带源程序)可以定制漂亮的图形界面,提供成组功能。 并实现了极酷的Alpha Blending渐变及变换效果。...正式版下重新编译
一下
即可,注意测试时多放几个此
控件
。
winform模仿QQ聊天窗口皮肤
控件
在Winform中,我们可以自定义
控件
(如继承自UserControl)来实现这一效果,通过调整
控件
的背景
图片
、边框样式以及文本位置来模拟气泡形状。 2. **头像展示**:在聊天窗口中,每个用户都有对应的头像。可以使用...
C#
控件
大全
1、数据显示
控件
2、数据绑定和数据定位
控件
3、文本编辑
控件
4、信息显示
控件
5、网页显示
控件
6、从列表中选择
控件
7、图形显示
控件
8、图形存储
控件
9、值的设置
控件
10、数据的设置
控件
11、对话框
控件
12、菜单...
ATL
3,248
社区成员
48,530
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章