none
消息响应的问题 RRS feed

  • 问题

  • 程序中有四个对话框,现在要在对话框A中的输入显示在对话荆B中.

    对话框A的按钮函数中调用对话框B中的函数set(..);

    在对话框B中

    void CIndexPage::Set(CString port )
    {
     ::SetDlgItemText(hwnd, IDC_EDIT1, port);//控件中没有输出
    // UpdateData(false);//这个函数不能使用,否则报错
     
     ::PostMessage(hwnd, WM_MYMSG, NULL, NULL);//消息响应函数没有响应.
    }

    这里的hwnd在构造函数中为:

    hwnd = GetSafeHwnd();//hwnd = m_hWnd;

    这几个函数都正常执行了,就是没有响应.哪错了?


    x
    2011年4月3日 7:33

答案

  • CIndexPage::Set已经是第二个对话框的函数了吧。第一个对话框的响应函数中不要直接调这个CIndexPage::Set。而是通过发消息,在第二个对话框中自己的线程执行。


    麻烦把正确答案设为解答。
    • 已标记为答案 wh_xiao 2011年4月4日 7:39
    2011年4月4日 7:35
    版主

全部回复

  • 窗口之间需要透过消息方式调用函数。不要通过函数直接调用。
    麻烦把正确答案设为解答。
    2011年4月4日 1:04
    版主
  • postmesssage根本就不能用,咋样发消息?不知道.
    xiao
    2011年4月4日 5:41
  • CIndexPage::Set已经是第二个对话框的函数了吧。第一个对话框的响应函数中不要直接调这个CIndexPage::Set。而是通过发消息,在第二个对话框中自己的线程执行。


    麻烦把正确答案设为解答。
    • 已标记为答案 wh_xiao 2011年4月4日 7:39
    2011年4月4日 7:35
    版主