当前位置:主页   - 电脑 - 程序设计 - VB
Oicq头像自己作
来源:网络   作者:   更新时间:2012-08-22
收藏此页】    【字号    】    【打印】    【关闭

  本人在用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控件的状态,如着色则对应的数组元素为当前设置的字符串,否则为空格.当存盘时,把字符串数组写入文件。

  程序的变量说明为:

  Dim imagearray(1 To 10, 1 To 20) As String

  Dim curstr As String '当前的描绘字符串

  1.在Form_Load()过程中加入初始化代码,如下:

     Private Sub Form_Load()
     Dim i As Integer
     Dim j As Integer
     For i = 1 To 10
      For j = 1 To 20
       imagearray(i, j) = " " '把数组都清为空格
      Next
     Next
     tops = (Form1.Height - 2000) \ 2 - 500
     lefts = (Form1.Width - 4000) \ 2
     For i = 0 To 199
      Shape1(i).Top = tops + (i \ 20) * 200
      Shape1(i).Left = lefts + (i Mod 20) * 200
     Next '排列控件,使之按20*10排列
     curstr = "*"
    End Sub

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明