线程的应用解决办法
线程的应用
请高手指点
我想要实现的是当我滑动slider控件的时候让这个线程开,不滑动的时候这个线程不执行!我该怎么做啊?
------解决方案--------------------
设置一个标志位在线程中,当控制控件时来修改这个标志位来让线程函数退出等
------解决方案--------------------
设置一个标志位,。。来判断了!!
请高手指点
- C/C++ code
void CThreadTestDlg::OnCustomdrawSlider1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here CString sValue=""; edit_value=(12-(float)m_slider.GetPos()/2);//得到的是编辑框中要显示的值 data=pow(10,edit_value/20);//得到将要发给下位机的值 slider_pos=m_slider.GetPos(); FloToHex(0,data); Send_Addr(addr); Gain_param(slider_pos,Addr_Gain_In[0],0x01); sValue.Format("%.1f",edit_value); SetDlgItemText(IDC_EDIT1,sValue+"dB"); *pResult = 0; }
- C/C++ code
DWORD WINAPI CThreadTestDlg::ThreadFunc(LPVOID lpParam) { CThreadTestDlg*pThread=(CThreadTestDlg*)lpParam; CByteArray sendbyte; while(TRUE) { const char bVal[13]={0xc3,0xa5,0x0d,0x01,pThread->add[0],pThread->add[1],pThread->Wei,pThread->BarValue[0][0], pThread->BarValue[0][1],pThread->Hexdat[0][0],pThread->Hexdat[0][1],pThread->Hexdat[0][2],pThread->Hexdat[0][3]}; sendbyte.RemoveAll(); sendbyte.SetSize(13); for (UINT i=0;i<13;i++) sendbyte.SetAt(i,bVal[i]); serial_port.SetOutput(COleVariant(sendbyte)); Sleep(1000); } return 0; }
我想要实现的是当我滑动slider控件的时候让这个线程开,不滑动的时候这个线程不执行!我该怎么做啊?
------解决方案--------------------
设置一个标志位在线程中,当控制控件时来修改这个标志位来让线程函数退出等
------解决方案--------------------
设置一个标志位,。。来判断了!!