本人利用CCD相机的SDK开发了一个图像采集软件,其中设计了一个改变相机显示参数的属性表单,供用户进行相应设置。该对话框包含2个属性页,其中一个属性页中设计了一个改变相机timebase参数的一个组合框,风格为下拉列表式,当用户点击改变,程序响应CBN_SELCHANGE,在其中添加代码,如下:
void CPropPage2::OnSelchangeTimeBase()
{
// TODO: Add your control notification handler code here
UINT n;
n=((CComboBox*)GetDlgItem(IDC_TimeBase))->GetCurSel();
UCC_SetFeatureValue(CameraID,E_FEAT_TIMEBASE,n); //相机api函数,改变相机的timebase值
}
设置好后,点击开始显示图像按钮,预期的话就可以看到显示前后显示效果的改变。但郁闷的是在实际运行中,我选择好一个timebase好后,点击开始显示,图像效果并没有变化,而当我暂停显示,再次进入到属性页,对以上同一个timebase值进行重复选择后,点击图像显示,这时图像效果改变了。
后来我进行了调试,在OnSelchangeTimeBase这个函数中增加断点,这时我发现当设置好后,进入该函数,运行完毕,点击图像显示,这时效果去发生了。
现在真有点搞不懂,为什么实际运行时非要设置2次才能产生效果,而调试时却运行很正常,请大家给点意见啊,帮忙帮忙!
void CPropPage2::OnSelchangeTimeBase()
{
// TODO: Add your control notification handler code here
UINT n;
n=((CComboBox*)GetDlgItem(IDC_TimeBase))->GetCurSel();
UCC_SetFeatureValue(CameraID,E_FEAT_TIMEBASE,n); //相机api函数,改变相机的timebase值
}
设置好后,点击开始显示图像按钮,预期的话就可以看到显示前后显示效果的改变。但郁闷的是在实际运行中,我选择好一个timebase好后,点击开始显示,图像效果并没有变化,而当我暂停显示,再次进入到属性页,对以上同一个timebase值进行重复选择后,点击图像显示,这时图像效果改变了。
后来我进行了调试,在OnSelchangeTimeBase这个函数中增加断点,这时我发现当设置好后,进入该函数,运行完毕,点击图像显示,这时效果去发生了。
现在真有点搞不懂,为什么实际运行时非要设置2次才能产生效果,而调试时却运行很正常,请大家给点意见啊,帮忙帮忙!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货