DWORD WINAPI CChatDlg::ThreadProc(LPVOID lpParameter)
{
return 0;
}
就是这个函数里面,我想在这个函数里获得文本框的文本,一调用
CString strSend;
GetDlgItemText(IDC_send,strSend);
就出错错误信息为error C2352: 'CWnd::GetDlgItemTextA' : illegal call of non-static member function。而在消息响应函数中调用则完全没有问题
void CChatDlg::OnRecvData(WPARAM wParam,LPARAM lParam)
{
CString strSend;
GetDlgItemText(IDC_send,strSend);}大家可以帮忙解答下吗?是不是在ThreadProc中调用先要调用什么句柄或者指针啊?真是有些迷糊了,该文本框直接在CChatDlg上,应该可以直接调用吧。。
{
return 0;
}
就是这个函数里面,我想在这个函数里获得文本框的文本,一调用
CString strSend;
GetDlgItemText(IDC_send,strSend);
就出错错误信息为error C2352: 'CWnd::GetDlgItemTextA' : illegal call of non-static member function。而在消息响应函数中调用则完全没有问题
void CChatDlg::OnRecvData(WPARAM wParam,LPARAM lParam)
{
CString strSend;
GetDlgItemText(IDC_send,strSend);}大家可以帮忙解答下吗?是不是在ThreadProc中调用先要调用什么句柄或者指针啊?真是有些迷糊了,该文本框直接在CChatDlg上,应该可以直接调用吧。。
解决方案 »
- 基于对话框程序的古怪问题(难道限制内存使用?)
- 请问能否在菜单栏或者工具栏中添加进度条控件?
- 自己生成的lib库在使用中产生重定义错误,是什么原因呢?
- rundll32运行动态库中的方法如何传递参数
- vs.net 2003 里的MSDN为什么好多内容都没有??
- 旋转按钮控件在设置Set buddy integer后出现Debug Assertion Failed!错误!
- 为何我用CDC的DrawIcon华的图标 在调用GetPixel获得不了颜色?
- 来来来!告诉大家怎样远离3721病毒!
- 如何在Dll中创建一个带有Web Browser的窗口?
- 当发送了MAIL From: <[email protected]>之后反馈信息为:553 Authentication is required,是什么原因?
- VC中的数值类型之间的转换问题,如int到float
- console中如何实现键盘响应
问题是没办法让窗口句柄和GetDlgItemText关联起来。到底ThreadProc这个函数里要如何正确调用GetDlgItemText呢?可以帮忙解答下吗?另外GetDlgItemText里的接收buf类型和消息传递参数类型不匹配要如何处理呢,我想把接收buf做为参数传递到消息里去
{
CChatDlg *pDlg = (CChatDlg*)lpParameter;
pDlg->GetDlgItemText(IDC_send,strSend);
return 0;
}
另外一个问题,接受到的字符串new一块内存送过去,接受方受到后释放
我的代码如下,结果出错了,好象是说类型转换出错
send=new char[200];
::PostMessage(hwnd,WM_RECVDATA,(WPARAM)send,(LPARAM)tempBuf);错误结果为error C2440: 'type cast' : cannot convert from 'class CString' to 'unsigned int'。请问这个new一块内存和接收后的释放的代码应该怎么写呢?我上面那个new的语句应该是出错了吧?好象只能new同一个类型的对象吧,不能通过NEW来转换类型。。请指教可以吗,详细点的代码
CString send;
pDlg->GetDlgItemText(IDC_send,send);
::PostMessage(hwnd,WM_RECVDATA,(WPARAM)send,(LPARAM)tempBuf);
DWORD WINAPI ThreadProc(LPVOID lpParameter)
{
CChatDlg *pDlg = (CChatDlg*)lpParameter;
pDlg->GetDlgItemText(IDC_send,strSend);
return 0;
}这样可以
在开线成的时候也可以传递个THIS指针进去
我现在就写这个那你可以加我QQ把程序发给你188290951
在AfxBeginThread(ThreadProc,this)就可以了 嘿嘿
char *sss;
sss=new char[200];
GetDlgItemText(IDC_send,sss);//运行结果报错
GetDlgItemText(IDC_send,(LPTSTR)sss);//同样报错。如果要在GetDlgItemText调用char型buf,请问要怎么样才能实现啊
GetDlgItemText(IDC_send,send);//似乎这里的buf只能是Cstring类型
::PostMessage(hwnd,WM_RECVDATA,0,(LPARAM)send);//但是这里的buf又必须是char类型挣扎矛盾中啊,不知道如何解决