请教MFC里消息机制的相关问题 一个工程有两个窗口,在窗口1中按下按钮后能在窗口2中的EDIT CONTROL中显示一段字符。我知道是用消息机制的SENDMESSAGE相关的看了一下午资料还是一知半解希望谁能给我的实际的例子告诉我步骤 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是发个WM_SETTEXT之类的消息吧。 求详细 CString ddd("sdfsf"),tmp1("CghgjkkjlDlg"),tmp2("IDD_GHGJKKJL_DIALOG (Dialog)"); HWND m = ::FindWindow(tmp1,tmp2); ddd就是要显示到窗口2中的,tmp1和tmp2存放窗口2的类和窗口名,关键是接下来要怎么调用SENDMESSAGE我不知道 你确信找到edit的hwnd了吗?void CSettextDlg::OnButton1() { // TODO: Add your control notification handler code here ::SendMessage( m_edit1.GetSafeHwnd(), WM_SETTEXT, 0, (WPARAM)"1122" );} 不知道楼主说的是一个进程中的两个单独的对话框资源还是两个进程。两个进程可以用sendmessage,一个进程就不必了吧,把变量设置成pbulic,然后设置后update不就可以了吗 hwnd我应该是绑定对了,但是我不明白后三个参数的具体意思,我把你写的SendMessage贴进去没有反映,好像还要做什么消息函数的映射来着,我不懂怎么做。是一个工程中两个对话框,试过设一个整个工程的全局变量但是没有成功。 void CSettextDlg::OnButton1() { // TODO: Add your control notification handler code here //::SendMessage( m_edit1.GetSafeHwnd(), WM_SETTEXT, 0, (WPARAM)"1122" ); HWND hwnd = ::FindWindow( NULL, "testtest" ); if( hwnd ) { HWND hwnd1 = ::FindWindowEx( hwnd, 0, "Edit", NULL ); if( hwnd1 ) { ::SendMessage( hwnd1, WM_SETTEXT, 0, (WPARAM)"1122" ); } }}void CSettextDlg::OnButton2() { // TODO: Add your control notification handler code here CDialog1 *dlg = new CDialog1; dlg->Create( IDD_DIALOG1 ); dlg->ShowWindow( 1 ); dlg->SetWindowText( "testtest" );}先点button2,再点button1,button2显示一个窗口,里面有一个Edit. 不行,我还是无法理解,照LS的代码也不能编译。我要做的功能就是顶楼说的,要不然用消息机制,要不然就定义一个CString的全局变量让2个都访问到,可是两个都有问题,定义全局变量也是报错。哪位帮帮忙,拜托。 void CMyDlg::OnSendButton() { // TODO: Add your control notification handler code here HWND hwnd = ::FindWindow( NULL, "接收密码" ); if( hwnd ) { HWND hwnd1 = ::FindWindowEx( hwnd, 0, "Edit", NULL ); if( hwnd1 ) { ::SendMessage( hwnd1, WM_SETTEXT, 0, (WPARAM)"123456" ); } } 如何获取excel的一个合并过的单元格跨越了多少列? 求助;怎么判断ComboBox值所对应的索引 一个文件读写的问题。 请问怎么改变一个已经建立好的MFC工程输出的exe文件的名字。 如何用ADO编程得到整个表的记录. 关于windows结构定义的问题 遇到一个棘手问题 再开一贴,解决CFindReplaceDialog类创建的查找对话框的使用问题,(连同另一贴共200分)!? 怎样限制窗口的大小 我的拖放目标窗口不能注册成功?为什么? MFC中变量 bof eof属性什么时候出现一个true 一个 false
CString ddd("sdfsf"),tmp1("CghgjkkjlDlg"),tmp2("IDD_GHGJKKJL_DIALOG (Dialog)");
HWND m = ::FindWindow(tmp1,tmp2);
ddd就是要显示到窗口2中的,tmp1和tmp2存放窗口2的类和窗口名,关键是接下来要怎么调用SENDMESSAGE我不知道
{
// TODO: Add your control notification handler code here
::SendMessage( m_edit1.GetSafeHwnd(), WM_SETTEXT, 0, (WPARAM)"1122" );
}
是一个工程中两个对话框,试过设一个整个工程的全局变量但是没有成功。
void CSettextDlg::OnButton1()
{
// TODO: Add your control notification handler code here
//::SendMessage( m_edit1.GetSafeHwnd(), WM_SETTEXT, 0, (WPARAM)"1122" );
HWND hwnd = ::FindWindow( NULL, "testtest" );
if( hwnd )
{
HWND hwnd1 = ::FindWindowEx( hwnd, 0, "Edit", NULL );
if( hwnd1 )
{
::SendMessage( hwnd1, WM_SETTEXT, 0, (WPARAM)"1122" );
}
}
}void CSettextDlg::OnButton2()
{
// TODO: Add your control notification handler code here
CDialog1 *dlg = new CDialog1;
dlg->Create( IDD_DIALOG1 );
dlg->ShowWindow( 1 );
dlg->SetWindowText( "testtest" );}
先点button2,再点button1,button2显示一个窗口,里面有一个Edit.
我要做的功能就是顶楼说的,要不然用消息机制,要不然就定义一个CString的全局变量让2个都访问到,可是两个都有问题,定义全局变量也是报错。
哪位帮帮忙,拜托。
{
// TODO: Add your control notification handler code here
HWND hwnd = ::FindWindow( NULL, "接收密码" );
if( hwnd )
{
HWND hwnd1 = ::FindWindowEx( hwnd, 0, "Edit", NULL );
if( hwnd1 )
{
::SendMessage( hwnd1, WM_SETTEXT, 0, (WPARAM)"123456" );
}
}