VC编程入门浅谈「建议收藏」

VC编程入门浅谈「建议收藏」
学VC并不是传说的那么难,可不下些功夫是学不成的。学编程急不得,没有编程的基础知识上来就学VC肯定碰一头灰,说VC难就难在这点上了。如果硬上,意志坚强的话还能挺过来,但最后还得回头来补习基础知识。意志不坚强的话,很有可能就此放弃,并留下一个VC难得不得了的印象。

  其实,只要踏踏实实一步一步来,学VC很简单。对于没有编程基础的人首先要学习编程的基础知识,如变量,语句,基本的算法等,然后写一些小的程序,实现些常用算法对自己的思维是很好的锻炼,对以后的学习大有好处。起码要能排

大家好,又见面了,我是你们的朋友全栈君。

学VC并不是传说的那么难,可不下些功夫是学不成的。学编程急不得,没有编程的基础知识上来就学VC肯定碰一头灰,说VC难就难在这点上了。如果硬上,意志坚强的话还能挺过来,但最后还得回头来补习基础知识。意志不坚强的话,很有可能就此放弃,并留下一个VC难得不得了的印象。

  其实,只要踏踏实实一步一步来,学VC很简单。对于没有编程基础的人首先要学习编程的基础知识,如变量,语句,基本的算法等,然后写一些小的程序,实现些常用算法对自己的思维是很好的锻炼,对以后的学习大有好处。起码要能排排序,求个八皇后,算个汉罗塔,再知道一点深、广度优先搜索。如果你已经有一些编程的基础知识了,自然就可以跳过这步。在对编程有一定的认识之后,就应该开始进军C++了。注意,C++是一门语言,而VC则是讲解如何在VC环境下使用MFC类库,学习VC应建立在充分了解C++的基础上的。

学完了C++,最好先找本Win32编程的书,Win32编程是指用Windows API编程,MFC是将众多的API函数进行了封装的类库,用起来方便了不少,但如果没有一些API编程基础,对相关概念不了解,学起来MFC来可能会很费解。API函数有2千多,不需要都学。其实只要知道如何创建窗口、对话框、控件、消息循环,了解了句柄的含义就差不多了,最好再了解一点GDI编程。这个阶段的关键是要理解Win32程序是如何运作的,把握各种窗口间的关系。因为你以后应该很少直接用Win32 SDK编写程序,所以关键是理解整个结构,记住几个函数并没有什么意义。函数用的时候可以现查。

  打好了基础,现在进军VC的障碍都已经扫清了。不过还是应做好充分的思想准备,事情不会那么顺利的。刚开始你就要面对一个瓶颈,大量的紧密关联的知识,使你必须一下理解一个整体,而很难一点点来。可以说学VC最难得就是刚开始。情况有些类似于第一次创建窗口时面对的那长长的程序,很多人就是在此被它难住,放弃了学习。事实上,这几乎是Windows编程的一大特点,突破了这个瓶颈之后便是一片海阔天空,而有着扎实基础的你是一定能闯过去的。建议不要等彻底弄明白一句才看下一句,等能做出个菜单、对话框时便回头再看一遍,几遍之后应该就可以大概明白MFC程序的运作了。这里有个关键,一定要用心体会面向对象编程的精神,努力将眼前的程序与之前的知识联系起来。通过比较成员函数和对应的API函数间的区别,尝试去理解MFC是怎样封装相关的API的。例如,相当多的宏,看起来很奇怪,但你不必理会其实现方法,只要知道如何使用便可,这点也很重要。还有,对于其生成的代码要自己进行分析,偷懒就不能真正理解MFC。

  这是我一个人的学习经验,但经验要因人而异,所以还需要根据个人的情况决定。开始时,教材让怎么办就怎么办,比猫画虎的做出个菜单、对话框,然后试着添加控件。等到不看教程便做出这些时,开始逐字逐句的试着理解MFC程序的组织。若看不懂就跳过看下面的。就这样一遍一遍来。如果觉着头大就先歇上2天,等清醒了再接着来,最好在这期间多找些介绍MFC框架的文章。然后便可试着写个定时器、名片夹之类的小东东,熟悉一下各种控件的使用。

  突破了开始的瓶颈之后再学下去便会越学越容易,因为你可以一点一点的积累知识,而不用担心被卡着了。再过不久,你就可以使用API函数完成一些功能,如在系统托盘加图标,自画列表框等。这时,你也会体会到学习Win32编程的好处了。

  最后,建议有时间的话研究一下各种算法。数据结构是一定要看的。不一定要记住,但至少要知道有那么回事,万一碰到问题可可以知道问题出在哪里。其实,常见的链表等结构以及排序等算法在C++标准模板中已经实现了,不用你去费劲,但有些了解总是有好处的。至于离散数学、线性代数什么的,对于复杂的算法是必要的,其中离散数学是数据结构的基础。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149828.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 记录使用Depix过程(小白文)

    记录使用Depix过程(小白文)Tips:本文仅用做探索记录(外行+新手),不保证正确性,慎读慎参考!背景:无聊看到一个可以去除马赛克的工具,并有GitHub源码(短短几天10K+star,lsp警告????,我反正不是,没跑过Python代码,一次尝试而已)。过程为本人第一视角,漏掉的部分请自行探索。下载源码,cd到根目录,执行文档(README.d)中的Example代码。到这里,目前还不明白这行代码的意思,不过可以看到两个图片路径,都在示例代码中出现,最后一个看名字就知道,工程根目录输出一个output.png图片。猜测为执

    2022年6月29日
    117
  • axios实现跨域三种方法_react antdesign

    axios实现跨域三种方法_react antdesign1.启动springboot后端,提供接口2.在config文件夹下创建proxy.tx文件,如果存在,在dev中添加axios环境代理,例如在我的demo中添加了/asd映射到http://localhost:8889/***在生产环境代理是无法生效的,所以这里没有生产环境的配置*Theagentcannottakeeffectintheproductionenvironment*sothereisnoconfigurationoftheproduc

    2022年9月11日
    0
  • 2w元教学课程,免费分享,教你搞定selenium自动化框架封装!

    2w元教学课程,免费分享,教你搞定selenium自动化框架封装!

    2021年7月14日
    80
  • XXLFRESHMAN_Registrationanddownload-Step1of3

    XXLFRESHMAN_Registrationanddownload-Step1of3 Afreerapidsharepremiumlinkgenerator,veryusefullforfreeusersofrapidshare.Persiteyouhaveadownloadlimitof10filesperday.Enjoyit.Dontsaythatthisisnotworking,yo

    2022年9月7日
    0
  • apktool反编译详细使用教程「建议收藏」

    apktool反编译详细使用教程「建议收藏」apktool反编译详细使用教程,包括每个细节。还有为什么反编译不成功,反编译出现的各种情况将为大家详细写出来,如有写的不好的地方还请见谅,这些都是本人自学的,曾经请教过大神,让我悲剧的是尽然无一人为我解答,后只有自己琢磨,所以本人看不惯那些大神的高傲姿态,不就会个反编译,会做美化包,整个内核,相信我写完教程后大家都将会自己制作美化包。学完反编译后你们就可以自己制作美化包了。当然有一些大神除外..

    2022年9月18日
    0
  • Linux下Jboss安装使用+Jboss部署脚本「建议收藏」

    Linux下Jboss安装使用+Jboss部署脚本「建议收藏」Jboss是JavaEE应用服务器(就像Apache是web服务器一样),专门用来运行JavaEE程序的。JBoss的运行需要JAVA环境的支持,所以我们首先安装JDK。本章环境:系统:CentOSLinuxrelease7.9.2009前期工作准备:关闭防火墙关闭selinux[root@server-jboos~]#systemctlstopfirewalld.service[root@server-jboos~]#systemctldistablefir

    2022年9月1日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号