高手帮忙:callback函数中改变/获取原对话框的edit控件数值

D2WXJ 2006-03-02 05:16:33
做一视频小程序,帧处理函数为callback函数,其参数为主对话框指针pDlg。处理结束后,预将数值显示到对话框上,采用pDlg->SetDlgItemInt(IDC_11),在对话框上看见显示正确数据,成功。
问题是结束帧捕获后(Callback函数不再被调用),对话框的界面没有了反应,只能强行结束。只要没有语句“pDlg->SetDlgItemInt(IDC_)或者pDlg->GetDlgItemInt,都是正常的,加上后就出现上述问题。

请帮忙!非常感谢先!
...全文
125 点赞 收藏 5
写回复
5 条回复
D2WXJ 2006年03月06日
顶一顶;)
回复 点赞
D2WXJ 2006年03月02日
当结束视频捕获后,spy++没有显示任何新消息,虽然还可以拖动窗口。
最后一条消息是WM_COMMAND wNotifyCode:BN_CLICKED,我想是由最后一下点击对话框上的停止采集按钮产生的消息。

回调代码产生出错的最简单例子
VOID CALLBACK FrameArriveCallBackFunction(LPVOID lpUser)
{
CVideoDlg* pDlg = (CVideoDlg*)lpUser;
int thresh=170;
thresh=pDlg->GetDlgItemInt(IDC_TH);
}
我的程序是工业相机的示例程序改的,设置回调函数用的是sdk里的函数,参数是(相机句柄, FrameArriveCallBackFunction, this);其中this为当前对话框指针
传对话框的句柄,是this->m_hWnd吗?那传过去后怎么使用呢,有什么区别呢。请指教。
回复 点赞
DentistryDoctor 2006年03月02日
VFW的采集?

你的回调函数的代码?
回复 点赞
SeekTruth 2006年03月02日
把编辑框的HANDLE传给CALLBACK函数试试看,不要传MFC指针
回复 点赞
一个傻冒 2006年03月02日
只要没有语句“pDlg->SetDlgItemInt(IDC_)或者pDlg->GetDlgItemInt,都是正常的,加上后就出现上述问题。
这两个函数的消息是.WM_GETTEXT, WM_SETTEXT.
会不会是因为什么原因,导致不段的发送这两个消息,把消息循环阻塞了.
我是猜的.猜错了请赐教.
楼主用SPY++查一下,对话框失去响应后,都有些什么消息.
回复 点赞
发动态
发帖子
VC/MFC
创建于2007-09-28

7898

社区成员

42.1w+

社区内容

VC/MFC相关问题讨论
社区公告
暂无公告