hzpyl 发表于 2018-8-29 15:06:06

自学VC++6.0串口编程,如何解决 变量类型不能选择int ?

以前一直搞单片机程序。
近期自学VC++6.0编程,从网上下载了资料:VC6.0MFC串口通信编写全过程.pdf

第7页:
进入类向导添加变量,为IDC_COMBO_CommSelect 添加一个value 类int 型变量m_Index

但只能选择CString,不能选择int


如何解决?

carefree1986 发表于 2018-8-29 15:30:11

不懂帮顶,为何不用VB6.0简单好用{:titter:}

hyghyg1234 发表于 2018-8-29 16:13:45

放弃MFC吧,有C基本C#很容易上手或者用qt也很好。

sbusr 发表于 2018-8-29 16:30:45

不点那个三角按钮,点框子里面,不能直接输入吗?

hzpyl 发表于 2018-8-29 16:33:55

sbusr 发表于 2018-8-29 16:30
不点那个三角按钮,点框子里面,不能直接输入吗?

直接输不了。

penny2799 发表于 2018-8-29 17:00:26

控件变量只能输系统提供的类型吧

penny2799 发表于 2018-8-29 17:02:28

变量里面有接口获取索引值,直接掉不是得到了,还用重新定义个

whymilk 发表于 2018-8-29 17:58:44

basic最容易学。

hyz_avr 发表于 2018-8-29 18:17:54

不要用mfc了,直接c#吧.直接当c用,做些一般的应用也够了{:lol:}

wye11083 发表于 2018-8-29 19:05:52

carefree1986 发表于 2018-8-29 15:30
不懂帮顶,为何不用VB6.0简单好用

vb6编译出来的就是垃圾。vc6生成的程序兼容性最好,而且mfc框架简洁易用,我现在demo都用vc6生成和编译,用vs2010可以直接编译调试,win10上照样稳定可靠运行。非mfc的则vs2010了。

ap0705307 发表于 2018-8-29 19:44:52

int 要自己根据控件字符转的,MFC啥都要自己干。

hzpyl 发表于 2018-8-29 19:58:34

wye11083 发表于 2018-8-29 19:05
vb6编译出来的就是垃圾。vc6生成的程序兼容性最好,而且mfc框架简洁易用,我现在demo都用vc6生成和编译, ...

以前一直搞单片机,特别用汇编很多。程序的所有情况都自己掌握。
而VC++面向对象,思路和观念还没有转过来。

谢谢你,给我学习VC++的勇气。

wye11083 发表于 2018-8-29 20:05:19

hzpyl 发表于 2018-8-29 19:58
以前一直搞单片机,特别用汇编很多。程序的所有情况都自己掌握。
而VC++面向对象,思路和观念还没有转过 ...

不要想太复杂。所谓面向对象,就是把以前的一大坨静态变量+函数(打包)成一个“类”,本质还是没变的,只不过打包之后,每个包可以当成一个副本——明白我的意思么?你修改操作一个副本,不会影响到其它副本。比如你有100个串口,要挂1000个串口设备(包含复用),用传统方法你得写1000个串口代码,但是用类之后,你可以把每个串口的数据打包成一个类,然后把函数和功能也打包进去,再把一些配置信息也打包进去(比如挂到哪个总线上,和谁谁复用),这样你生成1000个副本,再做些配置,就可以更容易达到目的了。

用C的好处是可以利用现成的高效率编译器帮你管理内存,管理变量,等等。你只需要做一些简单的必备的初始化(.s文件),剩下的就是告诉编译器你的代码要编译成什么样,函数起始地址在哪,RAM在哪。编译器会帮你干完所有其它工作。

zc3909 发表于 2018-8-29 20:06:37

直接在 .h 里添加变量声明

redroof 发表于 2018-8-29 20:22:05

wye11083 发表于 2018-8-29 19:05
vb6编译出来的就是垃圾。vc6生成的程序兼容性最好,而且mfc框架简洁易用,我现在demo都用vc6生成和编译, ...

C++Builder兼容性跟老VC一样好,又可以享受现代语言的各种高级特性。如果非要用C++就用它吧~

zhouqw1979 发表于 2018-8-29 20:35:29

一直理解不了VC,感觉非人类的编程语言。

redroof 发表于 2018-8-29 21:03:39

zhouqw1979 发表于 2018-8-29 20:35
一直理解不了VC,感觉非人类的编程语言。

mfc对新手完全是大坑。那是在编程语言的上古时代发明的框架,现在就让它在祖传代码里呆着吧!如果不是非要维护祖传代码,就当作没有这种东西吧。

modbus 发表于 2018-8-29 23:45:22

wye11083 发表于 2018-8-29 19:05
vb6编译出来的就是垃圾。vc6生成的程序兼容性最好,而且mfc框架简洁易用,我现在demo都用vc6生成和编译, ...

确实,用过很多软件,感觉VC6开发的软件兼容性最好,就是太难学了

hzpyl 发表于 2018-10-6 09:32:20

自己解决这个问题:

IDC_COMBO_CommSelect   的属性的Styles页中的选择Dropdown时,只能选择CString
IDC_COMBO_CommSelect   的属性的Styles页中的选择Drop List时,只能选择int

McuPlayer 发表于 2018-10-6 09:56:24

建一个数组,里面的内容和下拉框各个项的内容相同
下拉框关联一个控件变量,然后用GetCurSelect方法,得到用户选中项的索引号
用这个索引号,从数组中,取得相关的数据(可以是int,也可以是string,等等,还可以是自定义的struct)

nanfang2000 发表于 2018-10-6 09:57:52

为啥要学20年前的东西。。

McuPlayer 发表于 2018-10-6 10:05:37

VC6是不错,我从98年开始用,其实VC5也很经典,那时候MSDN还没有独立出来
VC6的类向导出问题的概率很高,前2年升级到VC2010,类向导基本没出过问题,UI也漂亮一些,编译出来的文件体积也大了一些
还有就是如果做一些SDK程序,VC6支持弱,比如GDI+,DirectShow,有些h文件VC6里的太老了,要人工替换

同时,我也在用C#,非常好用,做小工具的利器,类库丰富,代码简洁,语法糖接近人的思维方式
页: [1]
查看完整版本: 自学VC++6.0串口编程,如何解决 变量类型不能选择int ?