解决方案 »
- 打开子对话框时候使edit控件办成可读
- 为什么这个STDMETHOD(Load) ( LPPROPERTYBAG pPropBag, LPERRORLOG pErrorLog );函数执行不到呢?
- psdk无法安装!!
- 高手请进!!
- 如何动态地定义数组?
- winsock 多线程 调试问题
- ADO连接数据库连接经常断开,超级频繁
- ClistCtrl ICON模式下,拖拽成功后,arrange后各项的索引值不会改变,难道需要遍历然后删除插入才行吗?有没有什么好的方法?
- 右键菜单
- Delphi中的publish相当于VC中的protected吗?
- c++的几个基础问题!
- 刚看完<<windows程序设计>>上册,收获颇多,散分!!!
uping
{
///////////////////////////////////////////////////////////////////////////////////see this
CComm *pThis = ( CComm * )lpParam;
/////////////////////////////////////
DWORD dwEvents, dwBytesRead; while( pThis->m_bCommOpen )
{
if( WaitCommEvent( pThis->m_hComm, &dwEvents, NULL ) )
{
if( dwEvents == EV_RXCHAR )
{
dwBytesRead = pThis->ReadCommBlock( pThis->m_byteBuffer, 1024 );
if(dwBytesRead)
{
ResetEvent( pThis->m_hEvBufferEmpty );
::PostMessage( pThis->m_MainWindow, UM_DATAARRIVAL, 0, dwBytesRead );
WaitForSingleObject( pThis->m_hEvBufferEmpty, INFINITE );
}
}
}
else
{
if( GetLastError() != 995 )
pThis->ShowError();
//AfxMessageBox( "后台线程错误, [GetLastError() != 995]", MB_OK, MB_ICONSTOP );
return 0;
}
}
return 1;
}
创建线程:
m_pImage1Thread = AfxBeginThrea=(Image1Thread,NULL,THREAD_PRIORITY_BELOW_NORMAL,0,0);
然后我的函数如下:
UINT Image1Thread(void* pParam)
{
CDlgDisplay* pDlg = (CDlgDisplay*)pParam;
pDlg->MyImage1();
AfxEndThread(0);
return 0;
}
然后我的MyImage1函数:
while( m_nBegin )
{
// Sleep(10);
if(IsFilled)
{
test2++;
frame++;
DrawImage();//DrawImage(); }
}
}
函数DrawImage为类CDlgDisplay的成员函数,