15,471
社区成员
发帖
与我相关
我的任务
分享
UINT CNetworkSendDataDlg::zhuhangTimeThread(LPVOID lpParam)
{
CNetworkSendDataDlg *pDlg = (CNetworkSendDataDlg *)lpParam;
CFileDialog cFileDlg(TRUE, _T("txt"), (LPCTSTR)NULL, OFN_ENABLESIZING | OFN_EXPLORER | OFN_PATHMUSTEXIST |
OFN_LONGNAMES | OFN_OVERWRITEPROMPT | OFN_PATHMUSTEXIST | OFN_CREATEPROMPT,
_T("Text Files(*.txt)|*.txt|All Files (*.*)|*.*||"));
CStdioFile file(cFileDlg.GetPathName(), CFile::modeRead);
CString strTime, strOneline;
pDlg->GetDlgItemText(IDC_EDIT_SEND, strTime);
while (file.ReadString(strOneline))
{
pDlg->m_EditSend.ReplaceSel(strOneline + "\n");
send(pDlg->m_clientSocket, strTime.GetBuffer(0), strTime.GetLength(), 0);
Sleep(1000);
}
return 0;
}
void CNetworkSendDataDlg::OnBnClickedButton3()
{
// TODO: 在此添加控件通知处理程序代码
CWinThread *testThread;
testThread = AfxBeginThread(zhuhangTimeThread, NULL);
}
1. #define WM_READTXT WM_USER + 200 //头文件自定义消息
2.//在源文件中写消息映射 具体写法百度
3. //头文件声明消息函数
4.UINT CNetworkSendDataDlg::zhuhangTimeThread(LPVOID lpParam)
{
CNetworkSendDataDlg *pDlg = (CNetworkSendDataDlg *)lpParam;
CFileDialog cFileDlg(TRUE, _T("txt"), (LPCTSTR)NULL, OFN_ENABLESIZING | OFN_EXPLORER | OFN_PATHMUSTEXIST |
OFN_LONGNAMES | OFN_OVERWRITEPROMPT | OFN_PATHMUSTEXIST | OFN_CREATEPROMPT,
_T("Text Files(*.txt)|*.txt|All Files (*.*)|*.*||"));
CStdioFile file(cFileDlg.GetPathName(), CFile::modeRead);
CString strTime, strOneline;//设成全局变量
while (file.ReadString(strOneline))
{
PostMessage(WM_READTXT,0,0);//发送消息
Sleep(30);
}
return 0;
}
5.在你消息函数里面
{
m_EditSend.ReplaceSel(strOneline + "\n");
send(pDlg->m_clientSocket, strTime.GetBuffer(0), strTime.GetLength(), 0);
}
不过我记得好像在你线程里面,whlie下,用SendMessage(显示文字的文本框句柄,text,参数忘了),能直接传递while (file.ReadString(strOneline))
{
pDlg->m_EditSend.ReplaceSel(strOneline + "\n");
send(pDlg->m_clientSocket, (LPCTSTR)strTime, strTime.GetLength() * sizeof(TCHAR), 0);
Sleep(1000);
}
file.Close();