一个有点变态的问题!把Picture虚拟化成按钮!涉及大事件捕获的问题!大家进来!偶只有79分了!散50!赏个光吧!

xuyuanchu1016 2006-08-11 04:11:18
如题:
在窗体上放一个图片,想把图片虚拟成按钮,大体意思如下:
VB中图片有Click事件,现在的问题是想把鼠标Click事件给拆解开,把整个Click事件拆解成ButtonDown和ButtonUp两个事件,第一个ButtonDown事件发生的时候换成凹陷的图片,第二个事件ButtonUp发生的时候换成凸起的图片,这样不就虚拟成按钮了吗?

现在关键问题是如何捕获Picture控件的ButtonDown和ButtonUp这两个事件!!
各位大哥指点迷经!!
...全文
297 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
熊孩子开学喽 2006-08-12
  • 打赏
  • 举报
回复
这个问题一点都不变态啦,就如楼上几位说的,用MOUSE_DOWN和MOUSE_UP事件就可以做到了.
但是只是这样做的话,还远远达不到完美的地步.
我这里再来补充一下:

1: 请使用IMAGE控件,不要使用PICTURE控件,后者的资源占用比前者大多了.并且在楼主所需要用到的功能上一点也没有影响,因为IMAGE同样有MOUSE_DOWN和MOUSE_UP事件.
(在不需要对图像进行编辑的情况下,请尽量不要用PICTURE控件,任何程序都如此)

2: 每次用loadpicture来加载图片,这样会比较慢.应该事先用不可见的Image1(假定)加载好需要的图片,再如: Image2.picture=Image1.picture之类的语句来加载图片.

3: 使用Image另一个好处就是直接支持透明GIF,也就是说通过加载一个带透明色的GIF,可以达到类似异形按钮的效果(其实还是方的,只是透明部分看不见而已)



最后,无论使用什么控件,都请使用控件数组,这样又可以节省一笔资源开销了.
province_ 2006-08-12
  • 打赏
  • 举报
回复
现成的事件啊,其实C++做也很简单,这些都是普通的消息,呵呵,我来接分。
xuyuanchu1016 2006-08-12
  • 打赏
  • 举报
回复
俺谢谢各位兄弟了!!
呵呵.........
小弟谢各位乐!就是分有点少啊!
不过俺只有79分了!!散50!
以后想着大家!
xuyuanchu1016 2006-08-12
  • 打赏
  • 举报
回复
问题解决了!
小弟谢谢各位兄弟!

小弟有礼了!!
cangwu_lee 2006-08-11
  • 打赏
  • 举报
回复
呵呵 小溪也很容易淹死人
海牛 2006-08-11
  • 打赏
  • 举报
回复
VB 做这些很简单,没有你做C++那么复杂
happy_sea 2006-08-11
  • 打赏
  • 举报
回复
我再给完善一下:按下左键而不是右键时才换图片
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'换图片
If Button = 1 Then Picture1.Picture = LoadPicture("ICONS\COMPUTER\TRASH02A.ICO")
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'换图片
If Button = 1 Then Picture1.Picture = LoadPicture("ICONS\COMPUTER\TRASH02B.ICO")
End Sub
  • 打赏
  • 举报
回复
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'换图片
Picture1.Picture = LoadPicture("ICONS\COMPUTER\TRASH02A.ICO")

End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'换图片
Picture1.Picture = LoadPicture("ICONS\COMPUTER\TRASH02B.ICO")

End Sub

xuyuanchu1016 2006-08-11
  • 打赏
  • 举报
回复
怎么换图片呢?好人作到底啊!
小弟是搞C++的,现在正给人改程序!
不会使VB!!列位帮个忙呵···
  • 打赏
  • 举报
回复
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'换图片
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'换图片
End Sub
  • 打赏
  • 举报
回复
靠 这还用捕获啊
Picturebox 不就吗

1,453

社区成员

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

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