vb做的程序能再漂亮些么?

stanely 2000-08-24 06:58:00
各位大侠,请问用vb6怎样实现鼠标移动到某个控件上的时候使这个控件发生一些变化,如:当鼠标移动到command1 上的时候,command1上的文字改变颜色,但是鼠标并不点击。
10分奉上。
...全文
280 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
prefix 2000-08-25
  • 打赏
  • 举报
回复
需要使用SetCapture和ReleaseCapture捕捉鼠标才行。
shines77 2000-08-25
  • 打赏
  • 举报
回复
在Command的MouseMove()事件里写入相应处理代码就可以了,DearDelphi写的是Delphi的 OnMouseMove 和 OnMouseOver,不要误人子弟啊,谁说VB的不行啊,呵呵:)!
Un1 2000-08-25
  • 打赏
  • 举报
回复
需要用到:

SetCapture
ReleaseCapture

API
0xFFCD 2000-08-25
  • 打赏
  • 举报
回复
VB做这么点东西是小CASE。我来教两招吧。
(1)用VB制作即时动态按钮 首先,在主窗体上生成两个大小一样的按钮Command1和Command2,将它们的Style属性都设成1-Graphical,将Command1的Picture属性设为d:\vb\ico\mail01a.ico(变化前的图案,一个关闭的信封),将Command2的Picture属性设为d:\vb\ico\mail101b.ico(变化后的图案,一个打开的信封)。
其次,在主窗体的Private Sub Form-load()中加入以下代码:
Form1.Command1.Top=Form1.Height-7000
Form1.Command1.Left=Form1.Width-1300
Form1.Command2.Top=Form1.Height-7000
Form1.Command2.Left=Form1.Width-1300′使这两个按钮重合并放置在窗体的右上角
Form1.Command1.Visible=TrueForm1.Command2.Visible=False
′隐藏Command2按钮,显示Command1按钮
再次,在Command1-MouseMove事件里加入以下代码:
If Form1.Command1.Visible=True Then
Form1.Command1.Visible=False
Form1.Command2.Visible=True
End If
′如果鼠标移到按钮上就显示打开信封的图案
最后,在Form-MouseMove事件里加入如下代码:(如果按钮放置在图件框上,就在Picture1-MouseMove事件里加入代码)
If Form1.Command1.Visible=False Then
Form1.Command2.Visible=False
Form1.Command1.Visible=True
End If
′如果鼠标移到按钮外就显示关闭信封的图案
经过以上几步后,你的窗体上就有了一个即时的动态按钮,这个按钮的Click事件为Command2-Click。本程序在P100、32M RAM、中文版WIN95上运行通过。


(2)用VB实现浮动按钮
在微软的很多软件(如WORD)的工具栏中,都采用一种浮动按钮,即正常情况下按钮的图标呈灰色,当鼠标移动到某一按钮上时,该按钮自动向上凸起且变为彩色,并在按钮的右下方有一标签提示该按钮的功能,鼠标移开后又自动还原,这种按钮用VB实现时,方法如下:

1.先用绘图工具作出按钮图标后存盘(如1.BMP),再用图像处理软件将该图标转换为灰度图或浮雕图后再存盘(如2.BMP)。

2.运行VB,建立一新窗体(如FORM1)。

3.在窗体上需要建立按钮的位置处建立一图片框(如IMAGE1),其大小和图标相同,并将其 PICTURE属性设为2.BMP。

4.在IMAGE1周围建立由四个长度相同的LINE控件(如LINE1~4)组成的方框,方框要比IMAGE1控件稍大,否则达不到预计效果,将上面和左边的颜色设成白色,下面和右边的设成黑色,并将四个LINE控件的VISIBLE属性都设成FALSE。

5.在程序中加入以下内容即可:

Private Sub Image1_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)

Image1Picture=LoadPicture(″c:\1bmp″)

Line1Visible=True

Line2Visible=True

Line3Visible=True

Line4Visible=True

End Sub

Private Sub Form1_MouseMove(Button As Integer,Shift As I nteger,X As Single,Y As Single)

Image1Picture=LoadPicture(″c:\2bmp″)

Line1Visible=False

Line2Visible=False

Line3Visible=False

Line4Visible=False

End Sub


E-boy
欢迎访问我的VB主页 http://lovevb.2699.com


  _______\   (((   /_______ 
   _____\____ \   | ,\  / ____/_____ 
  ____\______ \_\  | __\ /_/ ______/____ 
 ___\_______ \__\\___| |___//__/ _______/___ 
  \_______ \__ \ \v v v v/ / __/ _______/ 
    \____\___\_\_\v v v/_/_/___/____/ 
        / / \v v/ \ \ 
        |__/ /\v/\ \__| 
         |__/ /|\ \__| 
          |_/\_/\_| 
     




fuzhanyu 2000-08-24
  • 打赏
  • 举报
回复
程序中设定command的style属性,然后在改变前景色。
deardelphi 2000-08-24
  • 打赏
  • 举报
回复
我原先做过,就是处理 OnMouseMove 和 OnMouseOver 等事件, 在事件中改变控件的属性,不过VB的 command 好象不行, 用图片框或别的按扭ActiveX吧。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧