Windows/VB编程逐月通

0ve4bip9m60qxh

0ve4bip9m60qxh

2016-02-19 13:17

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享Windows/VB编程逐月通吧。
第一步、走进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开发的一些方法和技巧,举一些例程。让你真正能做出一些较为实用的东西,至少它们可以成为一些大软件某一部分的前体。->

展开更多 50%)
分享

猜你喜欢

Windows/VB编程逐月通

编程语言 网络编程
Windows/VB编程逐月通

VB编程问与答

编程语言 网络编程
VB编程问与答

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

VB编程经验点滴

编程语言 网络编程
VB编程经验点滴

VB编程俱乐部问答

编程语言 网络编程
VB编程俱乐部问答

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

VB编程开发常见技巧

编程语言 网络编程
VB编程开发常见技巧

VB实用编程两例

编程语言 网络编程
VB实用编程两例

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

jQuery AJAX 调用WebService实现代码

jQuery AJAX 调用WebService实现代码

JQuery 技巧和窍门整理(8个)

JQuery 技巧和窍门整理(8个)
下拉加载更多内容 ↓