在线等,很急!!!【MFC中,局部函数如何修改控件变量?】 10

int32CVICALLBACKEveryNCallback(TaskHandletaskHandle,int32everyNsamplesEventType,uInt3... int32 CVICALLBACK EveryNCallback(TaskHandle taskHandle, int32 everyNsamplesEventType, uInt32 nSamples, void *callbackData)

{
CNIREADPCIDlg dlg;
int32 error = 0;
char errBuff[2048] = { '\0' };
static int totalRead = 0;
int32 read = 0;
float64 data[500] = { 0 };
CString cstrTipMessage;

/*********************************************/
// DAQmx Read Code
/*********************************************/
DAQmxErrChk(DAQmxReadAnalogF64(taskHandle, numSampsPerChan, 10.0, DAQmx_Val_GroupByScanNumber, data, sampsPerChanRead, &read, NULL)); //DAQmx_Val_GroupByChannel

if (read>0) {
cstrTipMessage.Format(_T("Acquired %d samples. Total %d\r"), (int)read, (int)(totalRead += read));
dlg.GetDlgItem(IDC_STATIC_READCOUNTER)->SetWindowTextW(_T("HHH"));
//SetDlgItemTextW(IDC_STATIC_READCOUNTER, cstrTipMessage);?????????
//AfxMessageBox(cstrTipMessage);
if (totalRead>100000&>askHandle != 0)
{
totalRead = 0;
/*********************************************/
// DAQmx Stop Code
/*********************************************/
DAQmxStopTask(gtaskHandle);
DAQmxClearTask(gtaskHandle);
}
fflush(stdout);
}
return 0;
}

上面为MFC的回调函数,进行数据采集,怎么将 SetDlgItemTextW(..., cstrTipMessage);在这个全局函数中使用???
很急,请大神赐教!
展开
 我来答
匿名用户
2015-08-18
展开全部

你这里有个dlg,如果这行正确的话,那下面加上也应该可以

dlg.GetDlgItem(IDC_STATIC_READCOUNTER)->SetWindowTextW(_T("HHH"));


// dlg..

dlg.SetDlgItemTextW(IDC_STATIC_READCOUNTER, cstrTipMessage);
追问
  关键这一行也不正确!不过已经找到方法了
  CNIREADPCIDlg* pdlg = (CNIREADPCIDlg*)(AfxGetApp()->m_pMainWnd);
  按这种写法来做,就能够访问到控件了。
追答
嗯,赞!
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式