Windows/VB编程逐月通

2016-02-19 13:17 10 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享Windows/VB编程逐月通吧。

【 tulaoshi.com - 编程语言 】

第一步、走进Windows,初窥VB
  
  编者按:以前总听别人说VB、VC、VFP的编程方法和技巧,很想写一篇关于可视化编程的整体性介绍文章,但是操作起来的时候却遇到了问题,我不知道该用哪种编程语言来介绍,考虑再三,最后还是决定使用易学易用的VB,VB的各种优点,我就不做过多的介绍了,我唯一想说明的是:希望大家能通过这样的介绍学会Windows编程,而不是简单VB编程,这就是标题为什么起名为Windows/VB编程逐月通的原因。
  
  有一点我要声明,我们这里讨论的是Windows编程,一切讨论都以32位Windows平台即Win32为基准。如果你刚从挂在MS-DOS下的TurboC爬出来的话,那么你有必要把脑子里装的某些东西扔进垃圾堆,旧思想该改一改了。所以让我们先从Windows程序的工作方式谈起吧!
  不过全面地讨论Windows的内部工作机制将需要整整一本书的容量,而且这本书对于初学者来讲还未必能看懂。因此现在还没有必要深入了解所有的技术细节,这些部分将随着学习的深入而深入。Windows的工作机制,简单地说就是三个关键的概念:窗口、事件和消息。
  什么是窗口,你千万别告诉我是一个个的应用程序窗口。在我们讨论编程时窗口是带有边界的矩形区域。也许你已经了解几种不同类型的窗口:如,Windows95的“资源管理器”窗口、文字处理程序中的文档窗口或者弹出提示有约会信息的对话框。除了这些最普通的窗口外,实际上还有许多其它类型的窗口。命令按钮是一个窗口。图标、文本框、选项按钮和菜单条也都是窗口。正因为有了这么多的窗口Window的后边才加上了一个s。
  “MicrosoftWindows操作系统通过给每一个窗口指定一个唯一的标识号(窗口句柄或hWnd)来管理所有的窗口。操作系统连续地监视每一个窗口的活动或事件的信号。事件可以通过诸如单击鼠标或按下按键的操作而产生,也可以通过程序的控制而产生,甚至可以由另一个窗口的操作而产生”。这是微软公司对事件的定义。明白什么意思了吗?好了,不打官腔了。说白了,事件就是你用标点标识了什么,敲了哪个键了,或者程序运行发生什么情况了。发生了一个事件,Windows操作系统就给相应的应用程序发出一条消息。这是由操作系统自动完成的。具体怎么做的,你管不了也管不着。
  我们要做的工作有很大一部分工作就是写一些处理这些消息的函数。还记得怎么用TurboC、TurboPascal、QuickBasic写一个菜单吗?菜单用类似于print之类的函数或语句一点一点打出来,然后再执行一个输入,输入的值往往是一个菜单选项,最后,根据这个输入的值调整相应的子程序。这个过程与我们所说的消息处理过程是类似的。所不同的是Windows的应用程序随时都可以接受消息,然后一条一条的处理。这里有一个很典型的例子:不知道大家注意到没有,在光驱发生“死读”的时候,系统会发生暂时的死机,用鼠标点什么都没用。等盘读过去了,刚才点的菜单都弹出来了,点的图标也全开始运行了。Why?Because:在光驱发生“死读”的时候,占用了很多的系统资源,所以看起来像死机一样。假如此时,用鼠标点一个下拉菜单,系统会给处理下拉菜单的程序发一个消息,通知有鼠标在点它。但是,此时系统资源不足,菜单的处理程序无法运行。过了一会儿,光驱读过去了,系统资源充足了,才开始进行消息处理运行下拉菜单的程序。所以,当死机时千万别胡点,按一下alt ctrl delete,就按一下,等到弹出"关闭程序"对话框时,关闭掉那些被注上没有响应程序。这样,能够释放一些系统资源给其他程序使用,从而保证其他程序能够继续运行。好像这一招在WindowsNT上比在Windows95/98上灵,不过有一点是肯定的,就是死机的时候不要慌。
  看到这里,先让你的思想稍做整理,回想一下所说的Windows,然后准备跟着我去窥探VB。
  前面没有看明白的话,你大可不必担心今后的学习。相反,今后的学习会有助于对前面内容的理解。
  好了,让我们先忘记一切的烦恼,开始一个新的话题:MicrosoftVisualBasic。我想这个快捷开发的代名词你一定听说过。至于VB的集成开发环境我不想多作介绍。自己打开VB看一看,就知道菜单、工具栏和各式各样的窗口都是什么样子了。
  废话少说,我们开始我们第一个Windows应用程序——HellotheWorld。第一步,在VB里New出一个标准的EXE工程(StandardEXEProject)。那个点满黑点的窗体就是未来你的应用程序里的显示的窗体。然后,在工具箱(一般在左手一边)里点命令按钮画在窗口上。这个过程就像在Windows画板里画点东西似的。接下来,我们来设置窗口属性。找到你的Properties窗口(一般在右下脚)。一定要确定当前显示的是窗体Form1而不是命令按钮Command1的属性。否则,可以在属性窗口上的下拉菜单上选一下。每选中一个属性,都可以在这个小窗口下方看到属性说明,这样你就明白每个属性都是来干什么的了。我们现在来试着修改一下窗体的Font(字体)属性。这时,弹出了一个字体的对话框。然后,选择你喜欢的字体、字号、样式。最后双击你刚才画上的那个按钮,添加代码。看到一个文本编辑器弹出了吗?就在光标的位置写上form1.print"HellotheWorld"。一般来讲,敲完了form1.时会出现一个下拉菜单,那是一个提示菜单,告诉你后边写些什么,不过你不用管它,把刚才让你敲的那句话敲完,就大功告成了。
  好了,现在你可以按播放键向全世界问好了。我们注意到程序的窗体就是我们刚才画的那个窗体,这叫所见即所得。点一下命令按钮,你可以看到HellotheWorld在窗体的左上角显示出来,字体就是你刚才设置的那样。
  在VB下开发应用程序就是这么三步:设计界面、设置属性、编写代码。《孙子兵法》里说:始计于庙堂之上。其实编程序和对外作战是一样的,先要有一个总的设计,然后再由粗到细的一步一步安排细节。设计界面,不一定是个美术问题;在你设计界面时,也把你程序的功能定制好了。接着,按照你程序功能的需要,设置你各个窗体上的控件和各个窗体自身的属性。控件可以初步理解为放在工具箱里的东西,像命令按钮、文本框、滚动条之类的东西。至于确切的定义我们以后再讨论。
  HellotheWorld是一个典型而简单的Windows应用程序。我们可以结合前面的内容看一看这个程序是如何运行的。在这个程序运行开始,就是带有命令按钮的一个窗体在等待一些事件的发生。用鼠标点命令按钮,就激发了一个click事件,系统得知后立刻给相应的应用程序发一条消息;当应用程序检测到这条消息,就进入相应的消息处理过程进行处理。所以我们要在PrivateSubCommand1_Click()中添加代码。
  现在我们有必要了解一下VB的代码编辑器。这是一个比较简单的文本编辑器,所不同的是在编辑器的上方有并排有两个下拉列表框。左边是一些编程对象,右边是左边当前对象所能接受的消息。比如说左边选command1,右边选click,若Command1_Click存在,光标会自动移到Command_Click的处理函数中;若不存在,则生成一个Command1_Click的过程声明。
  既然在这里提到了对象这个概念,我就没有理由简单说一说面向对象的程序设计。首先,我们要搞清什么是对象。“对象是类的一个实例。一个定义好的数据结构再加上定义在其上的操作称之为类。”N多本书都用这种晦涩的语言解释什么是类,什么是对象。在VB里,类和对象的概念就很直观了,就是在窗体上画一个按钮的动作,足以把这两个概念解释清楚。让我们再细细品味一下这个过程:先点一下工具箱里的command图标,然后在窗体上一拉,就在窗体上建立了一个叫command1的命令按钮。我们刚才的编程,全是围绕command1进行的。那么command1就是一个对象。它是由command生成的一个实例,command就是生成command1这个实例的类。Command的属性正好是command的数据结构。窗体也是一个类,名字叫form,程序里的form1是它的实例,print是定义在它上面的操作。其实,类、对象这些东西到是挺像“白马论”中所说的。马是一个类,白马就是马的一个实例,同样还有黄马、黑马,所以说白马非马。
  哎呀,又胡扯了。第一步到此结束。以后的一段日子,我们将讨论VB开发的一些方法和技巧,举一些例程。让你真正能做出一些较为实用的东西,至少它们可以成为一些大软件某一部分的前体。->

来源:http://www.tulaoshi.com/n/20160219/1603675.html

延伸阅读
一、什么是WindowsAPI? Windows这个多作业系统除了协调应用程式的执行、分配内存、管理系统资源…之外,她同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备…等目的,由於这些函数服务的对象是应用程式(Application),所以便称之为Ap...
一、前 言 Windows提供强大的功能以及友好的图形用户界面(GUI),使得它不仅广泛的用作管理事务型工作的支持平台,也被工业领域的工程人员所关注。 但Windows3.1并非基于优先级来调度任务,无法立即响应外部事件中断,也就不能满足工业应用环境中实时事件处理和实时控制应用的要求。因此,如何在Windows环境中处理外部实时事件一...
VisualBasic以友好易学的可视化开发环境闻名于世,成为人们学习计算机编程的首选语言。目前,全世界大概有300多万人使用着VisualBasic语言。如果您想在这茫茫众生中出类拔萃,那么您就不得不学习API(ApplicationProgramlnterface,即Windows的应用程序编程接口)编程。不懂API,那可成不了高手。 第一节:API基础 API说到底就是一系列的...
按照百分秒格式显示时间 你可以编写下面的代码来显示时间,其中包括百分秒格式: txt = Format$(Time, "hh:mm:ss") & Format$(Timer - Fix(Timer), ".00") 注意:Timer函数不能显示百分秒格式的时间,它只能精确到50毫秒。 简易安装注册表项目 这里有一个安装程序时设置注册表项目的简单...
步骤一:首先要先把控制项给叫出来,你只要按下Ctrl T後选取WinsockControl5.0若是用VB6的就选WinsockControl6.0,这样就可以使用Winsock元件。 步骤二:再来我们必须先确定程式是作Server端还是Client端的,要先设定一些属性: Server写法:winsock1.localPort=5400(数字可以随便设) winsock1.Listen(等待连线) Client写法:winsock1....

经验教程

752

收藏

11
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部