vc6.0中手动修改Resource.h中控件的宏定义和过多全局变量两问题 [问题点数:100分,结帖人asdjy123]
- 不显示删除回复
- 显示所有回复
- 显示星级回复
- 显示得分回复
- 只显示楼主
- 收藏
asdjy123 等级: 结帖率:100% | 楼主 发表于: 2012-12-07 20:55:15 各位大神您们好: C/C++ code
在Resourse.h发现15个宏定义的值不是连续的,所以我把Resourse.h里宏定义的不是连续的15个手动修改成连续的。然后运行程序也能正常清零。 现有以下几个疑问: 1.程序中我还用到这15个控件使用类向导的方法定义的变量,这变量的使用会有影响吗? 2.例如#define IDC_EDIT13 1036 本来IDC_EDIT13是1035的,被我手动修改成1036。但我查找1036时出现 C/C++ code 有三个相关1036,dispidDevRun、dispidTSDevCount和IDC_EDIT13 会有关联吗? 3、大家一般清零用什么方法的?如果不用GetDlgItem(strIDC++)->SetWindowText("0.00");这种方法清零,15个可用其它简单方法清零吗? 4、像我这样在类向导中定义15个全局变量好不好,我发现我的项目中主对话框有61个全局变量其中类向导有39个,会不会有点多啊。而且都是公共的,61个基本上只在一个类中使用,变成保护属性会不会好点。能否把定义全局数组代替全局变量的 望各位大神积极指导! 困惑的小鸟献上 2012-12-7 |
回复次数:17 |
|
快乐鹦鹉 等级: 3 2 4 | #1 得分:15 回复于: 2012-12-07 21:10:32 1.程序中我还用到这15个控件使用类向导的方法定义的变量,这变量的使用会有影响吗? |
傻X 等级: 4 | #2 得分:15 回复于: 2012-12-07 21:38:11 1.不会
|
asdjy123 等级: | #3 得分:0 回复于: 2012-12-07 21:41:13 下面代码中是我对话框类的。h文件里的,前面是自己定义的,后面是类向导定义的。这个不是全局变量?那全局变量是在哪定义才算,难到是在stdafx。cpp中? 我的项目是基于对话框的MFC C/C++ code 引用 1 楼 happyparrot 的回复:
|
|
asdjy123 等级: | #4 得分:0 回复于: 2012-12-07 21:54:28 引用 2 楼 tiger9991 的回复:
3.你这个m_cstr[15]怎么和edit控件连着? 4、Create什么?是创建edit控件吗 |
傻X 等级: 4 | #5 得分:10 回复于: 2012-12-07 22:39:42 3.DoDataExchange里面绑定 |
roger_ding 等级: | #6 得分:10 回复于: 2012-12-08 01:28:14 我一般会按以下方法写(建议不管什么情况下,都不要去修改resources.h)
|
skyandcode 等级: | #7 得分:10 回复于: 2012-12-08 09:59:26 2.会有关联,把那些你不想操作的ID改了。 |
asdjy123 等级: | #8 得分:0 回复于: 2012-12-08 15:52:21 引用 5 楼 tiger9991 的回复:
3、我查看下DoDataExchange函数,自己定义控件变量的话 就在DoDataExchange()定义下,如:DDX_Text(pDX, IDC_EDIT5, m_Edit5),再在.h文件里定义类型就行了,别的就没有关联了? 4、控件是拖拽的好还是create好。有原因吗? 引用 6 楼 roger_ding 的回复:
嗯,你这方法比我的好多了,以后用你这种。 |
asdjy123 等级: | #9 得分:0 回复于: 2012-12-08 15:57:36 引用 7 楼 skyandcode 的回复:
2、能说说有什么关联吗, 3.本来我也是像你这样,就是因为有15个变量,不是要写15个相同的句子?这样感觉太多了,所以我才去修改Resourse.h文件的 |
schlafenhamster 等级: | #10 得分:10 回复于: 2012-12-08 19:20:42 m_Edit14" |
傻X 等级: 4 | #11 得分:10 回复于: 2012-12-08 20:25:02 引用 8 楼 asdjy123 的回复:
控件是拖拽的就没办法Create了。 你这么多控件都拖拽?累死的吧。 |
skyandcode 等级: | #12 得分:10 回复于: 2012-12-09 09:15:46 引用 9 楼 asdjy123 的回复:
ID是一个控件的唯一标识,你有三个变量是相同的ID,操作起来会出现问题的。 15个变量都赋为空,一个UpdateData(FALSE)很麻烦吗 |
asdjy123 等级: | #14 得分:0 回复于: 2012-12-09 14:00:02 引用 10 楼 schlafenhamster 的回复:
我还以为m_是变量的意思,原来是模块_ 变量,我这菜鸟学习的东西还很多。 全局变量放在 .h 没有 {} 的 部分中行不行?算不算全局变量?还有如果要在别的。cpp应用,extern下就行。了? Quote: 引用 11 楼 tiger9991 的回复:
|
schlafenhamster 等级: | #15 得分:10 回复于: 2012-12-09 14:14:14 全局变量最好不要放在 .h 中。因为如果这个头文件被 #include 多次的话, 变量 会 重复定义。 |
asdjy123 等级: | #16 得分:0 回复于: 2012-12-09 20:57:43 嗯,明白了 |
asdjy123 等级: | #17 得分:0 回复于: 2012-12-10 08:23:13 谢谢各位大神的解答,结贴了 |