MFCvs2017给控件添加变量不了变量,没有类别选项

VC++中不能为控件添加成员变量&深入本质
1,在资源视图--右键单击--添加--资源,选择对话框后—在里面添加文本框时,不能为文本框添加成员变量。而在“解决方案资源管理器”中右键单击添加资源—对话框后,可以使用添加成员变量向导。为什么???(4-25)
境界1:这是因为改了对话框ID,默认情况下可以添加成员变量,当改变了对话框ID后就不能添加成员变量了。
境界2:原来是没有为对话框创建类。当创建类后,在类的头文件里会有一个
//&对话框数据
&&&enum&{ IDD =
IDD_DIALOG_LOGIN };
如果此时修改对话框ID,由于上面语句不变,出现新老ID不一致的情况,故不能添加变量。
导出问题:两个宏可以有相同的值吗?答:可以
要能添加变量,必须满足以下条件:
(1)&&&&&&对话框添加类
(2)&&&&&&enum{IDD=···}中的ID和对话框属性里的ID(数值)相同。
(3)&&&&&&Resultion.h有定义
注意1:就算只改对话框属性里的对话框ID,然后编译,系统会提示,此时选“是”或“全是”,系统会自动在Resultion.h中修改,使修改后的对话框ID和修改前的对话框ID相同,故此时不用在对话框的类头文件里修改enum{}。但是这种方法只能用一次,因为在Resultion.h中可以连续自动添加,但是对话框类头文件里不会自动修改。如果连续修改ID,则要把enum{}总的也要修改。总之,为了保持一致性,以上三处都要手动修改。
注意2:数值相同即如果在Resultion.h中定义宏
IDD_DIALOG_SET_SYSTEM&&&&&&&&&&
IDD_DIALOG_SETSYSTEM&&&&&&&&&&
则对话框头文件中,下面3条语句等效:
enum { IDD = IDD_DIALOG_SET_SYSTEM};
enum { IDD = IDD_DIALOG_SETSYSTEM };
enum { 132 };
无论控件或对话框的ID修改甚至删除,在编译(F5)时,都会弹出上图对话框提示重新加载Resultion.h,选择是或全是系统自动添加或删除ID
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!下次自动登录
现在的位置:
& 综合 & 正文
MFC添加控件变量运行不了?
编了一个MFC程序,当日运行良好,但第二天再向其中添加一个Edit控件,并赋以变量名,未添加其它任何程序,编译无错误,但是运行却探出错误,不能运行。将新添加的控件的变量名去掉,重新编译后程序正常运行。但以后始终不能为控件加变量名,不知为什么?
后来才知道,原来是我没有全编译,只是单单编译了当前cpp而已,
所以只要全编译就ok了,呵呵。。。
【上篇】【下篇】VC 2005 中添加控件的成员变量.
方法一:使用变量添加向导.
右击控件-&Add Variable (打开了 Add Member Variable Wizard) -& 输入Variable name 即可.
例如在对话框里面添加一个Edit 控件,然后将它变成成员变量。
右击一个Edit Control -& Add Variable -& 在 Variable name 里面输入edit1
方法二: 手动添加
以上动作等同于
1) 在 XXXDlg.h 中对话框类中添加成员变量声明:
CEdit edit1;
2) 在 XXXDlg.cpp 的 DoDataExchange(CDataExchange* pDX) 函数中实现变量和控件的映射关系。
DDX_Control(pDX, IDC_EDIT11, edit11);
浏览: 46363 次
来自: 苏州
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'变量对话框MFC 关于控件变量的使用_博客园
当前位置: >
>变量对话框MFC 关于控件变量的使用
变量对话框MFC 关于控件变量的使用
& 作者:xinyuyuanm & 来源: 博客园-xinyuyuanm &
PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!
&&&&在MFC中我们常常要把一些变量于控件对应起来! 并通过UpdateDate来实调用DoDataExchange(CDataExchange* pDX)实现变量信息交换!
VS2010&& 添加控件变量的进程: 右键单击控件,选择添加变量,弹出添加成员变量向导,记得选择控件变量复选框。在类别下拉框选择Value。选择变量类型,设置变量名。
&&&&每日一道理
漫漫人生路,谁都难免会遭遇各种失意或厄运。在凄风苦雨 惨雾愁云的考验面前,一个强者,是不会向命运低头的。风再冷,不会永远不息;雾再浓,不会经久不散。风息雾散,仍是阳光灿烂。
&&&&如: DDX_Text(pDX, IDC_STATICCOUNT, m_sCount); --& value对应
把控件ID为IDC_STATICCOUNT的控件与m_sCount变量对应起, 用UpdateDate(TRUE)来把IDC_STATICCOUNT控件数据写到m_sC
用UpdateDate(FALSE)把m_sCount数据读写到IDC_STATICCOUNT控件;
DDX_Control(pDX, IDC_BSTARTTIME, m_cStartTime);有尽有--&control
把控件ID为IDC_BSTARTTIME的控件与m_sCount变量对应起,如BUTTON。 此时我们可以通过m_cStartTime控件变量改变对应控件状态! m_cStartTime.EnableWindow(FALSE); 可以改变控件是不是可用!如果没有control对应, 那么我们可以使用等价语句:GetDlgItem(IDC_BSTARTTIME)-&EnableWindow(TRUE);
对话框数据交换是由DoDataExchange函数完成,在程序代码中从来不此文来自: 马开东博客
转载请注明出处 网址:
直接调用这个函数,而是通过CWnd类的另一个成员函数:UpdateData来调用。通过调用UpdateData来初始化对话框控件或者从对话框获得数据。
&&&&UpdateData函数有一个BOOL类型的参数,默以为TRUE。如果其值为TRUE,则说明函数正在获得对话框中的数据到成员变量,如果其值为FALSE,则说明该函数正在初始化对话框控件。
文章结束给大家分享下程序员的一些笑话语录: 现在社会太数字化了,所以最好是有一个集很多功能于一身的设备!
相关阅读:
来源:(微信/QQ:,微信公众号:makaidong-com) &&&&&& 欢迎分享本文,转载请保留出处!
&&&&&& 【原文阅读】:
上一篇:没有了
【相关文章】
每日最新文章
每日最热文章
本周最热文章
本月最热文章
本年最热文章
Powered by
Copyright &
www.makaidong.com, All Rights Reserved

我要回帖

更多关于 vs2017 添加控件变量 的文章

 

随机推荐