求教如何在mfc上实现实时监控串口数据用图标指示状态
现在在做一个程序,要实现的功能是串口收发,同时实现对接收数据的监控。并用不同图片来表示不同的数据状态。
找到了一段
CStatic *pStatic=(CStatic *)GetDlgItem(IDC_STATIC_PIC);//获得指向静态控件的指针
HBITMAP hBitmapon=::LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE
(IDB_BITMAP_ON)); //获得位图句柄
HBITMAP hBitmapoff=::LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE
(IDB_BITMAP_OFF)); //获得位图句柄
pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE); //设置静态控件的样式,使其可以使
用位图,并试位标显示使居中
pStatic->SetBitmap(hBitmapon); //设置静态控件显示位图
用这个可以实现通过按钮来控制显示不同的图片。。
但是为了实现实时监控,我尝试把他加入串口接收线程函数,结果报错了。
1>.\SerialPortDlg.cpp(214) : error C2352: 'CWnd::GetDlgItem' : illegal call of non-static
member function
1> C:\Program Files\Microsoft Visual Studio 8\VC\ce\atlmfc\include\afxwin.h(2244) :
see declaration of 'CWnd::GetDlgItem'
求教该怎么把这段能在线程函数中使用上面这段代码。
或者有什么别的方法实现监控功能。
我现在就是把接收到的数据放在了一个变量里。想通过这个变量来控制显示不同的图片。