搜索
bottom↓
回复: 40

零基础想学VC++上位机编程,求引导,求书籍,求拍砖。。

[复制链接]

出0入0汤圆

发表于 2012-9-29 19:39:34 | 显示全部楼层 |阅读模式
每次看到大神们做的漂亮的上位机 就灰常仰慕,灰常嫉妒,灰常。。。
我只是个做下位机硬件编程的,现在太多的玩意 要与电脑通信,包括usb,串口,并口。。。。 上位机完全不懂,非常蛋疼啊!
下决心要学一下,即使会一点简单的玩玩也好啊
介绍一下我自己:
1.首先C++零基础 (我会C)
2.对windows操作系统所谓的API,线程和进程,完全不知道
3.求推荐 零基础开始的书籍-->C++语言的书籍,windows操作系统类的书籍,(大概这方面的吧 我也不知道对不对)
4.求拍砖。。。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2012-9-29 21:43:32 | 显示全部楼层
VC上死过多次的路过,难,非常难^^^^^^

出0入0汤圆

发表于 2012-9-29 21:48:21 | 显示全部楼层
可以网上找找视频看看  孙鑫的视频和书籍有了解过

出0入0汤圆

发表于 2012-9-29 21:53:25 | 显示全部楼层
最佳也是最快的 办法,孙鑫的视频教程,其实我觉得VC编程还是不难的~~

出0入264汤圆

发表于 2012-9-29 21:57:23 来自手机 | 显示全部楼层
VC编程你觉得不难,是因为你还没有深入。看视频学习,其实就像学单片机点个流水灯一样。真正深入一点,你就会发现VC真的不好学。

出0入4汤圆

发表于 2012-9-29 21:57:48 | 显示全部楼层
其实简单的编程是不难的,做好就难了……

出0入0汤圆

发表于 2012-9-29 22:00:37 | 显示全部楼层
同求VC++上位机编程指导。。。。。。。。

出0入0汤圆

 楼主| 发表于 2012-9-29 22:01:54 | 显示全部楼层
wuguoyan 发表于 2012-9-29 21:53
最佳也是最快的 办法,孙鑫的视频教程,其实我觉得VC编程还是不难的~~

孙鑫的VC++深入详解视频和书  我都有,看着看着就看不懂了啊  提到那些MFC ,  线程, 消息队列,什么的完全不懂啊 ,

线程,消息队列 之类的 这些是在哪里有介绍的啊。。。。求书籍

出0入0汤圆

发表于 2012-9-29 22:02:12 | 显示全部楼层
同求指导

出0入0汤圆

发表于 2012-9-29 22:05:45 | 显示全部楼层
学Delphi吧!   

出0入0汤圆

 楼主| 发表于 2012-9-29 22:13:49 | 显示全部楼层
懂的人 过来指导一下  从什么书籍开始看起。。。

出0入0汤圆

发表于 2012-9-29 22:14:05 | 显示全部楼层
281229961 发表于 2012-9-29 22:01
孙鑫的VC++深入详解视频和书  我都有,看着看着就看不懂了啊  提到那些MFC ,  线程, 消息队列,什么的 ...

没关系,继续看,看完了有个印象,边看变练手,不懂的也可以查找网络,慢慢就上手了,很快的~

出0入0汤圆

 楼主| 发表于 2012-9-29 22:34:46 | 显示全部楼层
本帖最后由 281229961 于 2012-9-29 22:42 编辑

看到一本书     《Windows程序设计》
第1部分 基础知识                   第2章Unicode简介        第3章 窗口与消息        第4章 文本输出
第1章 起步                                    2.1 字符集简史        3.1 窗口的创建        4.1 绘制和重绘
1.1 Windows环境                    2.1.1 美国标准        3.1.1 系统结构概述        4.1.1 WM_PAINT消息
1.1.1 Windows简史                    2.1.2 美国以外的世界        3.1.2 HELLOWIN程序        4.1.2 有效矩形和无效矩形
1.1.2 Windows的方方面面       2.1.3 扩展ASCII        3.1.3 通盘考虑        4.2 GDI简介
1.1.3 动态链接                   2.1.4 双字节字符集        3.1.4 窗口类的注册        4.2.1 设备环境
1.2 Windows编程选项                   2.1.5 Unicode的解救方案        3.1.5 窗口的创建        4.2.2 获取设备环境句柄:方法一
1.2.1 API及内存管理模式        2.2 宽字符和c语言        3.1.6 窗口的显示        4.2.3 绘制信息结构
1.2.2 语言选择                  2.2.1 char数据类型        3.1.7 消息循环        4.2.4 获取设备环境句柄:方法二
1.2.3 编程环境                 2.2.2 更宽的字符        3.1.8 窗口过程        4.2.5 TEXTOUT函数详解
1.2.4 API文档                 2.2.3 宽字符库函数        3.1.9 消息的处理        4.2.6 系统字体
1.3 你的第一个Windows程序 2.2.4 维护一个源代码文件        3.1.10 声音文件的播放        4.2.7 字符大小
1.3.1 字符模式                2.3 宽字符和Windows        3.1.11 WM_PAINT消息        4.2.8 文本尺寸的度量
1.3.2 Windows对应程序       2.3.1 Windows头文件的类型        3.1.12 WM_DESTROY消息        4.2.9 文本的格式化
1.3.3 头文件                2.3.2 Windows函数调用        3.2 Windows编程中的若干难点        4.2.10 综合使用
1.3.4 程序入口               2.3.3 Windows的字符串函数        3.2.1 究竟是谁调用谁                        4.2.11 SYSMETSl.C窗口过程
1.3.5 MessageBox函数               2.3.4 在Windows中使用printf        3.2.2 队列消息和非队列消息        4.2.12 空间不够
1.3.6 编译、链接及运行      2.3.5 格式化的消息框        3.2.3 速战速决                       4.2.13 客户区的尺寸
                              2.3.6 国际化之于本书                                               4.3 滚动条
                                                                                                       4.3.1 滚动条的范围和位置
                                                                                                       4.3.2 滚动条消息
                                                                                                       4.3.3 加入滚动条的SYSMET
                                                                                                       4.3.4 程序的绘制代码的结构
                                                                                                       4.4 效果更好的滚动
                                                                                                       4.4.1 滚动条信息函数
                                                                                                       4.4.2 最远可以卷动到哪里?
                                                                                                       4.4.3 新的SYSMETS
                                                                                                       4.4.4 可我不想用鼠标

第5章 绘图基础        第6章 键盘        第7章 鼠标        第8章 计时器
5.1 GDI的结构        6.1 键盘基础        7.1 鼠标的基础知识                                8.1 计时器的基本知识
5.1.1 GDI原理        6.1.1 忽略键盘        7.1.1 一些基本术语                                8.1.1 系统和计时器
5.1.2 GDI函数调用        6.1.2 谁获得了焦点?        7.1.2 鼠标的复数形式是什么?                8.1.2 计时器消息不是异步的
5.1.3 GDI的基本图形        6.1.3 队列和同步        7.2 客户区鼠标消息                                8.2 使用计时器的三种方法
5.1.4 其他        6.1.4 击键和字符                        7.2.1 简单的鼠标处理示例                8.2.1 方法一
5.2 设备环境        6.2 击键消息        7.2.2 处理Shift键                                8.2.2 方法二
5.2.1 获取设备环境句柄 6.2.1 系统键击和非系统键击        7.2.3 鼠标双击                    8.2.3 方法三
5.2.2 获取设备环境的信息 6.2.2 虚拟键代码        7.3 非客户区鼠标消息                                8.3 使用计时器作为时钟
5.2.3 DEVCAPSl程序        6.2.3 1param信息        7.3.1 击中测试消息                                8.3.1 数字时钟
5.2.4 设备的尺寸        6.2.4 转义状态        7.3.2 消息引发消息                                8.3.2 获取当前时间
5.2.5 色彩ABC        6.2.5 使用击键消息        7.4 程序中的击中测试                                8.3.3 显示数字和冒号
5.2.6 设备环境属性        6.2.6 为SYSMETS加上键盘处理功能 7.4.1 一个假想的例子                8.3.4 考虑国际化
5.2.7 保存设备环境        6.3 字符消息        7.4.2 一个简单的程序                                8.3.5 模拟时钟
5.3 点和线的绘制        6.3.1 四类字符消息        7.4.3 使用键盘模仿鼠标操作               8.4 在状态报告上使用计时器
5.3.1 设定像素        6.3.2 消息排序        7.4.4 在CHECKER中增加键盘接口       
5.3.2 直线        6.3.3 控制字符的处理        7.4.5 在击中测试中使用子窗口       
5.3.3 边框绘制函数        6.3.4 死字符消息        7.4.6 CHECKER程序中的子窗口       
5.3.4 贝塞尔样条曲线        6.4 键盘消息和字符集        7.4.7 子窗口和键盘       
5.3.5 使用现有画笔        6.4.1 KEYVIEW1程序        7.5 捕获鼠标       
5.3.6 创建、选择和删除画笔 6.4.2 非英语键盘问题 7.5.1 设计一个矩形       
5.3.7 填充空隙        6.4.3 字符集和字体        7.5.2 捕获的解决方案       
5.3.8 绘图模式        6.4.4 Unicode解决方案        7.5.3 BLOKOUT2程序       
5.4 绘制填充区域        6.4.5 TrueType字体和大字体 7.6 鼠标的滚轮       
5.4.1 Polygon函数和多边形填充模式 6.5 插入符号(不是光标)               
5.4.2 用画刷填充内部        6.5.1 一些关于插入符号的函数               
5.5 GDI映射模式        6.5.2 TYPER程序               
5.5.1 设备坐标和逻辑坐标                       
5.5.2 设备坐标系统                       
5.5.3 视口和窗口                       
5.5.4 使用MMTEXT                       
5.5.5 度量映射模式                       
5.5.6 自定义的映射模式                       
5.5.7 WHATSIZE程序                       
5.6 矩形、区域和剪裁                       
5.6.1 处理矩形                       
5.6.2 随机矩形                       
5.6.3 建立和绘制区域                       
5.6.4 矩形与区域的剪裁                       
5.6.5 CLOVER程序                       


第9章 子窗口控件        第10章 菜单和其他资源                                                        第11章 对话框        第Ⅱ部分 关于图的那些事儿
9.1 按钮类                        10.1 图标、鼠标指针、字符串和自定义资源                        11.1 模态对话框        第Ⅲ部分 高级主题
9.1.1 创建子窗口        10.1.1 向程序添加图标                                                        11.1.1 创建一个About对话框       
9.1.2 子窗口传递信息给父窗口        10.1.2 获得图标的句柄                                       11.1.2 对话框及其模板       
9.1.3 父窗口传递信息给子窗口        10.1.3 在应用程序中使用图标                       11.1.3 对话框过程       
9.1.4 按钮        10.1.4 使用自定义鼠标指针                                                          11.1.4 激活对话框       
9.1.5 复选框        10.1.5 字符串资源                                                       11.1.5 主题变换       
9.1.6 单选按钮        10.1.6 自定义资源                                                       11.1.6 更复杂的对话框       
9.1.7 组合框        10.2 菜单                                                                       11.1.7 对话框控件的应用       
9.1.8 改变按钮文本        10.2.1 和菜单有关的概念                                             11.1.8 OK和Cancel按钮       
9.1.9 可见的按钮和启用的按钮        10.2.2 菜单结构                                         11.1.9 避免全局变量       
9.1.10 按钮和输入焦点        10.2.3 定义菜单                                                       11.1.1 0Tab停靠和选项组       
9.2 控件和颜色        10.2.4 在程序中引用菜单                                             11.1.1 1在对话框上绘图       
9.2.1 系统颜色        10.2.5 菜单和消息                                                       11.1.1 2关于对话框的其他函数.       
9.2.2 按钮的颜色        10.2.6 范例程序                                                       11.1.1 3定义程序自己的控件       
9.2.3 WMCTLCOLORBTN消息 10.2.7 菜单设计中的规范                                       11.2 非模态对话框       
9.2.4 自绘按钮        10.2.8 定义菜单的繁琐方式                                       11.2.1 模态与非模态对话框的区别       
9.3 静态类        10.2.9 浮动弹出菜单                                                                       11.2.2 新的COLORS程序       
9.4 滚动条类        10.2.1 0使用系统菜单                                                       11.2.3 HEXCALC:窗口还是对话框?       
9.4.1 COLORS1程序        10.2.1 1改变菜单                                                       11.3 公用对话框       
9.4.2 自动键盘接口        10.2.1 2其他菜单命令                                                       11.3.1 完善POPPAD       
9.4.3 窗口子类        10.2.1 3菜单的另类用法                                       11.3.2 Unicode文件的读/写操作       
9.4.4 背景着色        10.3 键盘加速键                                                       11.3.3 改变字体       
9.4.5 给滚动条和静态文本着色        10.3.1 为什么你应该使用键盘加速键              11.3.4 查找和替换       
9.5 编辑类        10.3.2 指定加速键的一些规则                                                       11.3.5 只调用一个函数的Windows程序       
9.5.1 编辑类的样式                10.3.3 加速键表                                                                      ……       
9.5.2 编辑控件的通知消息     10.3.4 加载加速键表               
9.5.3 使用编辑控件                10.3.5 翻译按键               
9.5.4 传递给编辑控件的消息  10.3.6 接收加速键消息               
9.6 列表框类                10.3.7 带有菜单和加速键的POPPAD程序               
9.6.1 列表框的样式                10.3.8 启用菜单项               
9.6.2 向列表框中添加字符串  10.3.9 处理菜单项               
9.6.3 项目的选择和提取                       
9.6.4 接收来自列表框的消息                       
9.6.5 简单的列表框程序                       
9.6.6 列出文件                       
9.6.7 Windows的HEAD程序                       

出0入0汤圆

发表于 2012-9-29 23:00:30 | 显示全部楼层
我悲剧啦,被逼学VC++啊。

出0入0汤圆

发表于 2012-9-29 23:03:22 | 显示全部楼层
mcu_lover 发表于 2012-9-29 21:57
VC编程你觉得不难,是因为你还没有深入。看视频学习,其实就像学单片机点个流水灯一样。真正深入一点,你就 ...

深入的话,无论什么东西都难的,目前我用到的不多,比较简单应用,学的够用就行~

出0入0汤圆

发表于 2012-9-29 23:04:49 来自手机 | 显示全部楼层
《windows程序设计》

出0入0汤圆

发表于 2012-9-29 23:23:37 | 显示全部楼层
找本mfc入门的书,在找本c++教材,看看视频,多看代码,我就是这样学的,20天左右,从零到上位机,套接字,多线程这些简单的。能写出来,不出错,但写的不漂亮。

出0入0汤圆

 楼主| 发表于 2012-9-30 01:15:15 | 显示全部楼层
估计我是没找对书 ,
头像被屏蔽

出0入0汤圆

发表于 2012-9-30 12:36:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2012-9-30 13:43:56 | 显示全部楼层
Petzold那本《windows程序设计》是必看的。

出0入0汤圆

发表于 2012-9-30 14:29:09 来自手机 | 显示全部楼层
c++不好学 ,我是从c#开始学的  面相对象的编程,推荐 c#入门经典这本书  学好这个再去c++会容易些!

出0入0汤圆

发表于 2012-9-30 14:30:20 | 显示全部楼层
关键字 侯捷 MFC

出0入0汤圆

发表于 2013-9-2 12:08:01 | 显示全部楼层
其实,无论哪个语言,踏实学下来就都没有问题的

出0入0汤圆

发表于 2013-10-26 23:02:57 来自手机 | 显示全部楼层
就看你什么需求了,如果只是做上位机,找个简单的VC入门书就可以了,也可看孙鑫的视频还不错,只要看你需要的就行,个人觉得没必要都看,什么多线程可以不用管,需要时在看,另外多GOOGLE

出0入0汤圆

发表于 2013-10-26 23:06:35 来自手机 | 显示全部楼层
不知什么原因BCB6。0接UDP包跟不上包来的速度,要发送方延迟一下再发下一包才行,VS没这问题

出0入0汤圆

发表于 2013-10-27 09:16:30 | 显示全部楼层
楼主现在学的咋样啦?

出0入0汤圆

发表于 2013-10-27 09:37:32 | 显示全部楼层
我也在学VC++,现在在看《实用VC++6.0教程》,但是看到函数,压力山大,不知道哪些地方有这方面的函数集。

出0入0汤圆

发表于 2013-10-27 10:40:13 | 显示全部楼层
从投入产出比的角度讲,学VC是最不划算的,这是我用VC15年的总结
我从VC5转到VC6后,就再没有用更高级的版本,但最近在尝试VS2010,仅仅是尝试而已

出0入0汤圆

发表于 2013-10-31 15:44:37 | 显示全部楼层
现在初步弄了对话框和串口,了解一点基础知识,这里面要弄懂的概念很多,所以选择从什么地方入手和看什么教材很重要,有些书的视频里讲话慢慢悠悠,人都要急坏的,讲到中间居然声音都没有了,视频黄维通的边学边用visual6.0也不错,就是中间一段声音和画面脱节了,其他都很好!

出0入0汤圆

发表于 2013-11-18 12:26:14 来自手机 | 显示全部楼层
孙鑫的书和视频都不错,可以先看视频

出0入0汤圆

发表于 2013-11-18 13:02:28 | 显示全部楼层
本帖最后由 yege520 于 2013-11-18 13:13 编辑

推荐久负盛名的C++经典教程引,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。
我刚买了一本,正在看,不错哦,现在最新的是第五版了
C++ Primer

出0入0汤圆

发表于 2013-12-31 16:27:06 | 显示全部楼层
学c#会快一些

出0入0汤圆

发表于 2014-4-7 13:52:27 | 显示全部楼层
哎  我也正在面临这个问题

下位机编程有了一些基础了,目前像做个简单的避障下车。
上位机部分前段时间跟着网上的资料 用VC MFC的CSerialPort串口类搞了个很简单的按钮遥控和接收数据的界面,可是界面太难看了。而且基本是照葫芦画瓢,很多东西都不懂。

想认真地学一个上位机编程软件和语言。这两天看了孙鑫老师的视频,看到第四节的时候,发现讲的是画图软件编程样的,到第七节和第八节讲对话框编程。貌似我写的上位机就是用对话框编程。其他大部分感觉跟上位机有点儿远啊。== 我感觉有点难额,那么多的类,我要是写出一个估计要花好多时间吧。

最后感觉MFC这东西是不是太老了,可能准备学C#吧,看能否快速入门编写上位机。   不过还是希望有人看到可以给我一点指导哈。。

出0入0汤圆

发表于 2014-4-7 13:53:16 | 显示全部楼层
对了  不知道C#有什么好的入门资源

出0入0汤圆

发表于 2014-6-22 19:45:09 | 显示全部楼层
选择一个,坚持,不要中途因为各种原因改变。坚持年头,至少5年吧。

出0入0汤圆

发表于 2014-6-23 09:58:27 | 显示全部楼层
藕断丝连的学习使用, 从未精通过!!!!!   支持楼主,现在找工作还是需要这玩意,所以还是要继续学习

出0入0汤圆

发表于 2014-11-8 21:47:31 | 显示全部楼层
McuPlayer 发表于 2013-10-27 10:40
从投入产出比的角度讲,学VC是最不划算的,这是我用VC15年的总结
我从VC5转到VC6后,就再没有用更高级的版 ...

VC入门不易。。。学精了不易。。。

出0入0汤圆

发表于 2014-11-10 08:45:27 | 显示全部楼层
wuguoyan 发表于 2012-9-29 23:03
深入的话,无论什么东西都难的,目前我用到的不多,比较简单应用,学的够用就行~  ...

基本应用的话 看孙鑫的视频教程基本上就够了 前期自己对C++最好有基本的了解
推荐看 C++视频 当然几本书非常值得看一下 c++primer   windows程序设计

出0入0汤圆

发表于 2014-11-19 19:19:20 | 显示全部楼层
果断:孙鑫的教程啊,看一遍不会多看几遍就会了!

出0入0汤圆

发表于 2014-11-21 11:38:58 | 显示全部楼层
推荐Bruce的《C++编程思想》

出0入0汤圆

发表于 2014-11-25 17:49:58 | 显示全部楼层
VC++6.0 还是蛮好的,资料多。做串口直接从网上下载个串口类,几步就完事。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 21:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表