我在 文件 菜单中,有 设置 和 启动 两个项。设置 菜单项可以弹出一个 对话框 ,我在该 对话框 上放置了一个 combo box 控件,我想将combo box中的内容传送给 启动 菜单项使用。我是初学的新手,请高人指点,谢谢!

解决方案 »

  1.   

    在你的主界面中(即响应菜单消息的界面)加一个public的成员变量,设置一个初始的无意义的值
    在你的对话框中也设置一个同样的变量(public)
    如:
    CString m_str;在你的设置菜单显示对话框的时候可以这样做
    CMyDialog dlg;
    if (dlg.DoModal() == IDOK)
    {
    m_str = dlg.m_str;
    }对话框的m_str可以在ComboBox选择改变之后改变值
      

  2.   

    请问楼上的:我将两个变量设为LPTSTR类型
    LPTSTR m1; 主界面中
    LPTSTR m2;  对话框中我在先随便给m2赋一个值的时候,如:m2=“my”进行测试的时候,出现下面的错误:Compiling...
    SZhiDialog.cpp
    C:\mystudy\startsnort1\SZhiDialog.cpp(18) : error C2501: 'm2' : missing storage-class or type specifiers
    C:\mystudy\startsnort1\SZhiDialog.cpp(18) : error C2440: 'initializing' : cannot convert from 'char [4]' to 'int'
            This conversion requires a reinterpret_cast, a C-style cast or function-style cast
    Error executing cl.exe.
    Creating browse info file...startsnort1.exe - 2 error(s), 0 warning(s)错误原因好象是类型不对,但我在.cpp文件中定义一个LPTSTR值在赋值的时候却没有任何错误。请指教
      

  3.   

    应该在外面设置为public型的公有变量吧?
      

  4.   

    第一个错误可能是你没有在SZhiDialog.cpp中包含声明对话框类的头文件。
    第二个错误是你赋值类型错误,你把声明部分和赋值部分代码贴出来
      

  5.   

    第一个错误可能是你没有在SZhiDialog.cpp中包含声明对话框类的头文件。//     我    已   经包含了
    第二个错误是你赋值类型错误,你把声明部分和赋值部分代码贴出来://我在类中声明为 LPTSTR m2;在.cpp文件中: m2=“my”;出错。但我在.cpp中 LPTSTR wkChange="my";却没有错误
      

  6.   

    第一步: 在 CMainFrame 中定义你的属性变量如   CString  m_strUserName
    第二步: 在设置对话框 PerDlg 中给你的 Combox 加一个变量CString类 m_strUserName(不要说这都不会),在设置对话框的 OnOK()  中  UpdateData 一次,获取m_strUserName 
    第三步:在你的启动对话框中加一个变量  CString m_strUserName;
    按下面的代码写:
    在 MainFrame 要设置的地方:{
      ....
      CPerDlg  perDlg;   //你的设置对话框  if( perDlg.DoModal() == IDOK)
      {
         m_strUserName = perDlg.m_strUserName;
       }}
    在要启动的地方:{   ..
       CStartDlg  startDlg;   startDlg.m_strUserName = m_strUserName;   startDlg.DoModal();   ..
    }
    在你的  CStartDlg  中 还要在 initdialog 中加入函数,用于显示你传入的
    m_strUserName
    仔细看看上面的话,再试一次