CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

考试题 求大侠帮忙

楼主kimifan()2006-06-01 18:28:27 在 VB / 基础类 提问

老师没给具体内容   我只能形容一下,还望各位好心帮着做做  
  共两道题,一个是左红右兰两个气球,要求竖直上升,最右边有两个时钟图标作为控制  
  另一题是黑暗的背景下,有许多像小星星似的东西闪烁。  
  好像用到了图形操作那章知识  
  只要差不多能运行就行,谢谢大家了 问题点数:50、回复次数:4Top

1 楼AKillGodKillBuddha(神挡杀神 佛挡杀佛)回复于 2006-06-01 18:56:50 得分 0

????Top

2 楼rypgood(失魂)回复于 2006-06-01 19:54:14 得分 0

第一个很简单啊  
  画两个图片框,装上气球图片,然后在时钟那里设置属性,interval到底要多快由它决定,你自己设置,里面的程序很简单  
  private   sub   timer1_timer()  
  picture1.top=picture1.top-100  
  end   sub  
  其他的就照猫画虎了  
  第二题我就不会了  
  不过我这里有一个是别人的东西,你可以看一下  
  Option   Explicit  
  Private   Declare   Function   Ellipse   Lib   "gdi32"   (ByVal   hdc   As   Long,   ByVal   X1   As   Long,   ByVal   Y1   As   Long,   ByVal   X2   As   Long,   ByVal   Y2   As   Long)   As   Long  
  Private   Declare   Function   BitBlt   Lib   "gdi32"   (ByVal   hDestDC   As   Long,   ByVal   X   As   Long,   ByVal   Y   As   Long,   ByVal   nWidth   As   Long,   ByVal   nHeight   As   Long,   ByVal   hSrcDC   As   Long,   ByVal   xSrc   As   Long,   ByVal   ySrc   As   Long,   ByVal   dwRop   As   Long)   As   Long  
  Private   Type   Star  
          X   As   Long  
          Y   As   Long  
          Speed   As   Long  
          Size   As   Long  
          Color   As   Long  
  End   Type  
  Dim   Stars(49)   As   Star  
  Const   MaxSize   As   Long   =   5  
  Const   MaxSpeed   As   Long   =   25  
   
   
  Private   Sub   Form_Click()  
          End  
  End   Sub  
   
  Private   Sub   Form_Load()  
          Dim   i   As   Long  
          Randomize  
          '产生50个星星  
          For   i   =   LBound(Stars)   To   UBound(Stars)  
                  Stars(i).X   =   Me.ScaleWidth   *   Rnd   +   1  
                  Stars(i).Y   =   Me.ScaleHeight   *   Rnd   +   1  
                  '星星大小  
                  Stars(i).Size   =   MaxSize   *   Rnd   +   1  
                  '星星速度  
                  Stars(i).Speed   =   MaxSpeed   *   Rnd   +   1  
                  '星星颜色  
                  Stars(i).Color   =   RGB(Rnd   *   255   +   1,   Rnd   *   255   +   1,   Rnd   *   255   +   1)  
          Next   i  
  End   Sub  
   
  Private   Sub   Timer1_Timer()  
          Dim   i   As   Long  
          '清屏  
          BitBlt   Me.hdc,   0,   0,   Me.ScaleWidth,   Me.ScaleHeight,   0,   0,   0,   vbBlackness  
          For   i   =   0   To   UBound(Stars)  
                  '移动星星  
                  Stars(i).Y   =   (Stars(i).Y   Mod   Me.ScaleHeight)   +   Stars(i).Speed  
                  '判断星星是否已出了窗口  
                  If   Stars(i).Y   >   Me.ScaleHeight   Then  
                          Stars(i).X   =   Me.ScaleWidth   *   Rnd   +   1  
                          Stars(i).Speed   =   MaxSpeed   *   Rnd   +   1  
                  End   If  
                  Me.FillColor   =   Stars(i).Color  
                  Me.ForeColor   =   Stars(i).Color  
                  '画星星  
                  Ellipse   Me.hdc,   Stars(i).X,   Stars(i).Y,   Stars(i).X   +   Stars(i).Size,   Stars(i).Y   +   Stars(i).Size  
          Next   i  
          Me.Refresh  
  End   SubTop

3 楼EexeNet(Eexe.Net)回复于 2006-06-01 20:11:29 得分 0

1、画图你就自己事了喔。。  
  -------------------  
  Private   Sub   Form_Load()  
  Timer1.Interval   =   60  
  End   Sub  
   
  Private   Sub   Timer1_Timer()  
  Shape1.Top   =   Shape1.Top   -   100  
  Shape2.Top   =   Shape2.Top   -   100  
  If   Shape1.Top   <   20   Then  
          Shape1.Top   =   10000  
          Shape2.Top   =   10000  
  End   If  
   
  End   Sub  
  -------------------------------------------  
  第二道:  
  画上label1   ,timer1  
  ---------------------------------------------------------  
  Private   Sub   Form_Load()  
  Me.BackColor   =   h000000   '  
  Label1.BackStyle   =   0   '去背景色  
  End   Sub  
   
  Private   Sub   Timer1_Timer()  
  Label1.FontSize   =   Int((50   *   Rnd)   +   1)   '大小变化  
  Label1.Caption   =   "这里放上星号,因为这里用星号是发不出的"  
  Label1.ForeColor   =   RGB(Rnd   *   255,   Rnd   *   255,   Rnd   *   255)   '色彩变化  
  End   Sub  
   
  --------------------------------------Top

4 楼bwldwb6(多情无晴)回复于 2006-06-01 23:05:27 得分 0

程序竟然都出来了,我说说大概思想吧,  
  第一个改变两图形的坐标,改变的程序用时钟空间来控制  
  第二个象你说的闪烁我觉得直接改变是否可见的属性就行了,当然为了好看象楼上说的可以改变颜色属性Top

相关问题

关键词

得分解答快速导航

  • 帖主:kimifan

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo