我在程序里新增了一个菜单项,点击它时弹出一个模态对话框,上面有一组单选控件,我在该对话框类里为这组控件定义了一个int型变量,现在程序运行时单击对话框的OK时控件变量的值已经与控件关联了,但是我想在这个对话框类以外的类里用到这个控件变量,应该怎么做呢?我有试过在调用的地方定义一个该对话框类的实例,然后通过实例调用其成员变量,但是此时变量并没有与控件关联起来,也就是说我改变控件的选择,该实例的变量成员并不变化,这是怎么回事噢?谢谢大家了先
调试欢乐多
然后 用对话框对象调用呀
比如CDialog dlg;
dlg.m_int;
比如CComboBox变量。
你添加一个相应SecletChange的消息相应函数;
里面这么写void OnxxxSelectChange() //函数原型不是这样,用VS自动给你加
{
m_int=选择的值;
或者
UpDate(); //这个如果的控件关联的变量是通过向导加的话,直接用就行。手动加
//就需要到DDX函数里面改一下,仿照其他的格式自己写
}
回复4L:不好意思我没太看懂你的意思
回复2L:我想要做的就是添加若干个新的菜单选项,用户通过菜单项完成设置,然后后台程序根据关联的控件变量进行响应,我有试过把这些菜单中包含的控件变量都放在同一个结构体中,这个结构体在View类中声明为全局变量,菜单设置有变化时,在更新控件变量的同时,将这些变量同时传递给结构体中的对应参数,然后主程序中直接调用结构体参数获得控件信息,但是在UpdateData(true)后,调用全局结构体传递控件变量时编译总是提示那个全局变量未定义,这是怎么回事噢
然后在添加的函数里面写
yourMenber=GetWindowTest();用listBox控件做试验吧
对话框窗口消失之后,对话框的类对象不会删除的,所以里面的变量依然可以使用
CDialog dlg;
dlg.Domodal(); //在对话框出来的时候再进行选择的操作,变量就会更新成你要的数据了
int i=dlg.m_yourIntMember;