vb实例教程vb实例教程Oicq头像自己作本人在用Oicq聊天时,经常收到一些好友发给我的用文本符号描绘的图像,觉得好羡慕啊,于是一想何不自己编一个程序来解决一下这个问题呢。本人近期正好在学Vb,所以我就打算用Vb来搞定:).首先,新建一个工程。在窗体Form1上放200个Shape控件(大量的复制粘贴,要有耐心),并让其成为一个从Shape(0)到Shape(199)的数组.大家也可以先在窗体Form1上放一个Shape控件,然后用Load语句来完成加载。把Shape控件的FillColor属性设置为白色,FillStyle属性设置为Solid(实填充),BorderColor属性设置为黑色,BorderWidth属性设置为1,Shape属性设置为0(Rectangle),Height和Width属性设置为195。然后,用工具下的菜单编辑器加入四个菜单项,标题分New,Save,Char,Exit,名称分别为NewMenu,SaveMenu,CharMenu和ExitMenu.以上的准备工作完成以后,下面就来写程序代码了。首先介绍一下本程序设计的大体思想。本程序通过用鼠标来描绘图形,当按着鼠标左键在Shape控件上移动时,处在鼠标位置的Shape控件的颜色变为蓝色,当按右键时变为白色(Shape控件按20*10的方式排列)。用一个20*10的字符串数组来纪录各个Shape控件的状态,如着色则对应的数组元素为当前设置的字符串,否则为空格.当存盘时,把字符串数组写入文件。程序的变量说明为:Dimimagearray(1To10,1To20)AsStringDimcurstrAsString注释:当前的描绘字符串1.在Form_Load()过程中加入初始化代码,如下:PrivateSubForm_Load()DimiAsIntegerDimjAsIntegerFori=1To10Forj=1To20imagearray(i,j)=注释:把数组都清为空格NextNexttops=(Form1.Height-2000)\2-500lefts=(Form1.Width-4000)\2Fori=0To199Shape1(i).Top=tops+(i\20)*200Shape1(i).Left=lefts+(iMod20)*200Next注释:排列控件,使之按20*10排列curstr=*EndSub2.在MouseDown过程中添加如下代码:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsvb实例教程Single,YAsSingle)DimiAsIntegerDimjAsIntegerIfButton=1Then注释:如果是左键Fori=1To10Forj=1To20If(X=lefts+(j-1)*200)And(X=lefts+j*200)And(Y=tops+(i-1)*200)And(Y=tops+i*200)Then注释:以上判断鼠标点在哪个控件上imagearray(i,j)=curstr注释:置相应的数组元素为CurstrShape1((i-1)*20+j-1).FillColor=vbBlue注释:控件颜色变为蓝色EndIfNextNextElseIfButton=2Then注释:如果是右键Fori=1To10Forj=1To20If(X=lefts+(j-1)*200)And(X=lefts+j*200)And(Y=tops+(i-1)*200)And(Y=tops+i*200)Thenimagearray(i,j)=注释:置相应的数组元素为空格Shape1((i-1)*20+j-1).FillColor=vbWhite注释:控件颜色变为白色EndIfNextNextEndIfEndSub3.在MouseDown过程添加如下代码:PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)DimiAsIntegerDimjAsIntegerIfButton=1Then注释:按着鼠标左键Fori=1To10Forj=1To20If(X=lefts+(j-1)*200)And(X=lefts+j*200)And(Y=tops+(i-1)*200)And(Y=tops+i*200)Thenimagearray(i,j)=curstr注释:置相应的数组元素为CurstrShape1((i-1)*20+j-1).FillColor=vbBlue注释:控件颜色变为蓝色EndIfNextNextvb实例教程ElseIfButton=2Then注释:按着鼠标右键Fori=1To10Forj=1To20If(X=lefts+(j-1)*200)And(X=lefts+j*200)And(Y=tops+(i-1)*200)And(Y=tops+i*200)Thenimagearray(i,j)=注释:置相应的数组元素为空格Shape1((i-1)*20+j-1).FillColor=vbWhite注释:控件颜色变为白色EndIfNextNextEndIfEndSub4.New菜单的Click事件:PrivateSubNewMenu_Click(IndexAsInteger)DimiAsIntegerDimjAsIntegerFori=1To10Forj=1To20imagearray(i,j)=注释:数组全清为空格NextNextFori=0To199Shape1(i).FillColor=vbWhite注释:控件的颜色全置为白色NextEndSub5.Char菜单的Click事件:PrivateSubCharMenu_Click(IndexAsInteger)DimstrAsStringstr=InputBox(请输入描绘字符串:,输入描绘字符串:,curstr)IfstrThen注释:如输入的字符串不为空curstr=strEndIfEndSub6.Save菜单的Click事件:PrivateSubSaveMenu_Click(IndexAsInteger)DimiAsIntegerDimjAsIntegerDimfsoAsObjectDimtsAsTextStreamDimfilenameAsStringSetfso=CreateObject(Scripting.FileSystemObject)filename=InputBox(请输入文件名:,输入文件名:,*.txt)注释:输入文件名vb实例教程Setts=fso.CreateTextFile(filename,True)Fori=1To10Forj=1To20ts.Writeimagearray(i,j)Nextts.WriteLine注释:写一新行NextEndSub7.Exit菜单的Click事件:PrivateSubExitMenu_Click(IndexAsInteger)end注释:程序结束EndSubVB与Flash联合打造你的魅力程序在软件开发的过程中,为了提高软件的商品化程度,许多开发人员都在努力使自己开发的程序界面更加的美观,但除了简单的使用图片和底纹,还有没有更好的方法呢?Flash是一种矢量格式的动画文件,可以包含动画,声音,超文本链接,而文件的体积却很小,在网页上使用Flash可以做出很漂亮动态菜单条。那么Flash可不可以加入到应用程序中而起到美化程序的作用呢?经过一番研究,Flash不仅仅可以插入到程序中起到美化的作用,而且可以通过FSCommand命令与VB应用程序进行交互!也就是说你的应用程序的按钮再也不会是灰灰的那样的死板,而是颇具魅力的动画了!怎么样,动心了吧?那好,随我来一起让VB和Flash联合起来,打造我们的魅力程序!(一)在VB中播放Flash动画怎样才能在VB中加入Flash动画呢?我们只要使用Flash5自带的ShockwaveFlash.ocx这个控件就可以了。方法如下:1.打开VB6.0,新建一个工程,在工具箱上单击右键,选择Components…,在部件窗口的控件列表中选择Shockwaveflash,然后确定,Flash控件就被加到工具箱上。2.选择工具箱上的Flash控件,放到窗体上并调整好大小;3.在Form_Load()过程中加入如下代码:PrivateSubForm_Load()ShockwaveFlash1.Movie=“D:\test.swf”'这里写上你的Flash文件目录ShockwaveFlash1.Menu=FalseShockwaveFlash1.Playing=TrueEndSub其中,ShockwaveFlash1.Movie是用来指定你要播放的Flash动画的目录;ShockwaveFlash1.Menu是用来指定是否在Flash动画播放中封闭右键菜单,True为能够显示菜单,False为封闭右键菜单;ShockwaveFlash1.Playing=True是让动画播放。好了,按F5看看吧,是不是程序中的Flash动画能播放了?:)(二)在Flash中控制VB程序实现交互现在Flash动画已经能在VB程序中播放了,那么怎么实现在Flash中控制VB的程序从而实现交互式的操作呢?本文的重点也在于此。首先我们先来了解Flash中控制VB程序的基本原理:在Flash的ActionScript里面有个叫做FSCommand()的函数,它的主要功能就是发送FScommand命令,例如使动画全屏播放,vb实例教程隐藏动画菜单,更重要的就是可以与外部文件和程序进行通信。而在VB程序中,我们就是利用的Shockwaveflash控件的FSCommand()过程来完成这一通信过程,实现信息发送的功能,并且根据发送出来的不同的命令及参数来实现对VB程序的控制。明白了吧?简单的说,我们就是利用Flash中的FSCommand()函数向VB发送命令,利用ShockwaveFlash控件来接受这个命令,从而达到Flash控制VB程序的目的。好了,现在知道了原理,我们就一步一步来实现吧!1.首先要打开Flash5制作一个交互按钮,并在按钮上面加上如下代码:on(release){fscommand(SendAction);//发送SendAction这个命令}这个命令的作用是当按下按钮后Flash向VB发送出名为”SendAction”的命令。当然,这个命令的名字在实际应用中可以叫做其他的任何名字。2.将Flash导出成为swf文件,如文章第一部分所述插入到VB6.0中,下面就是VB怎么接受这个命令的事情了;3.在窗体上双击ShockwaveFlash控件,进入代码编辑窗口,加入如下语句其中,ShockwaveFlash1_FSCommand这个过程是专门用来接收Flash发送的FSCommand命令的,其中第一个参数command就是与Flash发送过来的命令相对应的,当其一致的时候,则执行后面的程序(本例中是弹出MsgBox)。好了,看看程序运行的结果吧:PrivateSubShockwaveFlash1_FSCommand(ByValcommandAsString,ByValargsAsString)Ifcommand=SendActionThenmsg=MsgBox(Flash与VB成功结合了!,vbApplicationModal,成功了!)'当接到SendAction命令的时候'这里加入你需要的程序EndIfEndSubYeah!成功了!:)怎么样,通过本文你是不是完全掌握了Flash与VB的结合?这里,你只要把Then后面要执行的语句段变为你自己想要实现的程序,那么Flash中的动画按钮就能实现所有强大的VB功能了!快去吧,再也不要那些死板的灰色按钮,加上你的炫目多彩的动画按钮,打造出你的魅力程序