2个窗体A,B。A发送一个已选定的combobox的值到B的文本框显示出来,网上找了好多,写的都不是很详细,哪位大人,贴一段完整代码上来阿

解决方案 »

  1.   

    不一定需要消息,
    lz可以这么做,先得到已选定的combobox的值,然后得到B窗口的指针,然后直接调用
    BOOL SetDlgItemText(          HWND hDlg,
        int nIDDlgItem,
        LPCTSTR lpString
    );
      

  2.   

    你这样是同步的吗?我需要A的combobox选好以后,b的文本框直接就显示出A的所选的值,不好意思,我是新手,所以问的有点详细
      

  3.   

    如果是同一个程序的话,当然是同步的。
    你可以使用combobox的CBN_SELCHANGE消息来处理
      

  4.   

    西北狼,能不能写段代码出来啊?就是得到目前所选的combobox的值以后的代码,我是在对消息一窍不通,谢谢啦
      

  5.   

    你这样是同步的吗?我需要A的combobox选好以后,b的文本框直接就显示出A的所选的值,不好意思,我是新手,所以问的有点详细你只要得到b窗口的指针,
    响应a窗口的combobox控件的CBN_SELCHANGE消息,然后设置b的值即可
      

  6.   

    #define my_message WM_USER +100
    在对话框里定义消息处理函数
    afx_msg void Onshuxin();
    在消息映射里定义消息
    ON_MESSAGE(my_message,Onshuxin)然后发消息::PostMessage(HWND,WM_USER+100,0,0);
    很简单吧:)
      

  7.   

    在向导中添加a窗口的combobox控件的CBN_SELCHANGE消息
    然后在Dlg::OnSelchangeCombo1() 中获得选中的字符串
    CComboBox * pCombo = (CComboBox *) GetDlgItem(IDC_COMBO1) ;
    int idx = pCombo->GetCurSel();
    CString str;
    pCombo->GetLBText( idx,str);
    AfxMessageBox(str);
    然后你自己
    BOOL SetDlgItemText(
      HWND hDlg,         // handle of dialog box
      int nIDDlgItem,    // identifier of control
      LPCTSTR lpString   // text to set
    );
      

  8.   

    CString strText;
    GetDlgItemText(IDC_COMBO1,strText);
    ::SetDlgItemText(::FindWindow(NULL,"另一窗口标题"), IDC_EDIT1, strText);