我在基于Frame类上创建了一个窗口,在窗口上添加了一个EDIT控件(IDC_EDIT1),基于view类建立了一个副线程(记为线程1),
通过这个线程读取Edit中的文本,并把读取到的字符发送一个自定义消息(sendmessage),在view创建了一个对应的消息响应函数,这个消息响应函数把接收到的消息再显示到EDIT中,
问题1:这是基于Frame类创建的窗口,在view类中创建的线程怎么读取EDIT中的文本,我用GetDlgItemText(IDC_EDIT1,STR1)不行,那个EDIT的ID无法获得。
问题2:同样的,那个view上的消息响应函数怎么把接收到的消息显示到EDIT中,
LRESULT CtestView::OnSend(WPARAM wParam,LPARAM lParam)//基于view类
{
CClientDC dcsend(this);
CString str2=(char*)lParam;
CString str3("send:");
str2=str2+str3;
SetDlgItemText(IDC_EDIT1,str2);//这里出错
return TRUE;
}
新手,越详细越好,3Q
通过这个线程读取Edit中的文本,并把读取到的字符发送一个自定义消息(sendmessage),在view创建了一个对应的消息响应函数,这个消息响应函数把接收到的消息再显示到EDIT中,
问题1:这是基于Frame类创建的窗口,在view类中创建的线程怎么读取EDIT中的文本,我用GetDlgItemText(IDC_EDIT1,STR1)不行,那个EDIT的ID无法获得。
问题2:同样的,那个view上的消息响应函数怎么把接收到的消息显示到EDIT中,
LRESULT CtestView::OnSend(WPARAM wParam,LPARAM lParam)//基于view类
{
CClientDC dcsend(this);
CString str2=(char*)lParam;
CString str3("send:");
str2=str2+str3;
SetDlgItemText(IDC_EDIT1,str2);//这里出错
return TRUE;
}
新手,越详细越好,3Q
解决方案 »
- 类继承的问题
- 关于Thunk技术的疑问
- 请问:关于CArray在调试时的问题
- 服务程序里为什么读取ACCESS数据库失败呢?
- 关于CListCtrl用法的总结:
- 寻找MFC中自带自立DrawCli的源代码
- 为什么我写了个dll在其中调用create new出一个对象,调用destroy delete它,但老是有这样的错误 ,Debug Error!,Damage:after Normal block
- 在vc6.0中使用stl的map容器,怎么会有很多的警告
- Gopher是什么意思?它用来干什么?
- 请教WebBrowser控件的使用
- 串口的ReadFile和WriteFile,你们到底是个怎么回事?!
- vs2005中MFC程序支持Com程序问题
void GetWindowText( CString& rString ) const;返回值:
指定了要拷贝的字符串的长度,以字节为单位,不包括结尾的空字符。如果CWnd没有标题或标题为空,则为0。参数: lpszStringBuf 指向要接收窗口标题的复制字符串的缓冲区。
nMaxCount 指定了要拷贝的缓冲区的最大字符数目。如果字符串比nMaxCount指定的数目还要长,则被截断。
rString 用于接收窗口标题的复制字符串的CString对象。 说明:
这个函数将CWnd的标题(如果有)拷贝到lpszStringBuf指向的缓冲区或者目的字符串rString。如果CWnd对象是一个控件,则GetWindowText成员函数将拷贝控件内的文本(而不是控件的标题)。这个成员函数会向CWnd对象发送一个WM_GETTEXT消息。
CWnd::SetWindowTextvoid SetWindowText( LPCTSTR lpszString );参数: lpszString 指向一个CString对象或以null结尾的字符串,将被用作新的标题或控件文本。 说明:
这个函数将窗口的标题设为指定的文本。如果窗口为一个控件,则将设置控件内的文本。
这个函数使一条WM_SETTEXT消息被发送到这个窗口。
SetDlgItemText设置窗口或对话框拥有的标题或是控件文本。
你用SETWINDOWTEXT试试。