关于控件向菜单传送数据的问题 我在 文件 菜单中,有 设置 和 启动 两个项。设置 菜单项可以弹出一个 对话框 ,我在该 对话框 上放置了一个 combo box 控件,我想将combo box中的内容传送给 启动 菜单项使用。我是初学的新手,请高人指点,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在你的主界面中(即响应菜单消息的界面)加一个public的成员变量,设置一个初始的无意义的值在你的对话框中也设置一个同样的变量(public)如:CString m_str;在你的设置菜单显示对话框的时候可以这样做CMyDialog dlg;if (dlg.DoModal() == IDOK){ m_str = dlg.m_str;}对话框的m_str可以在ComboBox选择改变之后改变值 请问楼上的:我将两个变量设为LPTSTR类型LPTSTR m1; 主界面中LPTSTR m2; 对话框中我在先随便给m2赋一个值的时候,如:m2=“my”进行测试的时候,出现下面的错误:Compiling...SZhiDialog.cppC:\mystudy\startsnort1\SZhiDialog.cpp(18) : error C2501: 'm2' : missing storage-class or type specifiersC:\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 castError executing cl.exe.Creating browse info file...startsnort1.exe - 2 error(s), 0 warning(s)错误原因好象是类型不对,但我在.cpp文件中定义一个LPTSTR值在赋值的时候却没有任何错误。请指教 应该在外面设置为public型的公有变量吧? 第一个错误可能是你没有在SZhiDialog.cpp中包含声明对话框类的头文件。第二个错误是你赋值类型错误,你把声明部分和赋值部分代码贴出来 第一个错误可能是你没有在SZhiDialog.cpp中包含声明对话框类的头文件。// 我 已 经包含了第二个错误是你赋值类型错误,你把声明部分和赋值部分代码贴出来://我在类中声明为 LPTSTR m2;在.cpp文件中: m2=“my”;出错。但我在.cpp中 LPTSTR wkChange="my";却没有错误 第一步: 在 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仔细看看上面的话,再试一次 SDK ListView控件的排序功能怎么实现 WriteFile&ReadFile 网页上弹出的网游动画广告窗口是怎么做的? 关于CreateProcess函数使用中的一点问题。 PostMessage问题 请教:结构的拷贝构造函数! ListCtrl控件,如何返回选中的项的下标?在线等,谢谢 如何写自己的、不是从mfc派生的类呢?用“建立类向导”和“新建类”好象都是从mfgc派生的 我想在程序中弹出Windows的记事本并打开一个文本,如何实现 请问如何在VC中动态创建一个按钮? 如何用SQL语句按日期查询?? unicode 问题
在你的对话框中也设置一个同样的变量(public)
如:
CString m_str;在你的设置菜单显示对话框的时候可以这样做
CMyDialog dlg;
if (dlg.DoModal() == IDOK)
{
m_str = dlg.m_str;
}对话框的m_str可以在ComboBox选择改变之后改变值
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值在赋值的时候却没有任何错误。请指教
第二个错误是你赋值类型错误,你把声明部分和赋值部分代码贴出来
第二个错误是你赋值类型错误,你把声明部分和赋值部分代码贴出来://我在类中声明为 LPTSTR m2;在.cpp文件中: m2=“my”;出错。但我在.cpp中 LPTSTR wkChange="my";却没有错误
第二步: 在设置对话框 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
仔细看看上面的话,再试一次