几个问题,快来拿分

sssa2000 2001-09-14 09:54:10
1 请问像acdsee那样,不用滚动条,用鼠标直接拖拽,实现图片的上下左右移动,怎么实现?

2 怎样在左面上做一个像电子宠物那样的小动画,只要求在桌面上方实现一个移动的小图标就可以了.
...全文
115 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
starbattler 2001-09-19
  • 打赏
  • 举报
回复
问题1
在鼠标左键按下事件中,记录坐标 mouseX,mouseY
在鼠标mousemove事件中:
先判断鼠标是否按下。
if mousepress= true then
这时,鼠标在按下后移动移动的值,就被picture1.top 和 .left加上
picture1.top=picture1.top+(mouseX-X) 'X、Y为在mousemove事件中获得的当前坐标
picture1.left=picture1.left+(mouseY-Y)
endif

问题2,
把你的小动物,做成GIf动画。找个可放Gif格式的控件,可下载,把窗体的BorderStyle设置为0,用个timer控制窗体的移动。还可以判断,如果窗体移出屏幕,自动移回。
starbattler 2001-09-19
  • 打赏
  • 举报
回复
要使你的窗体永远保持在最前面,要调用api函数SetWindowPos
代码如下:
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)

Private Sub Form_Activate()
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End Sub

直接把以上代码放到你的窗体里就行了哦!!呵呵

pengcheng 2001-09-18
  • 打赏
  • 举报
回复
gz
luanjiajia 2001-09-18
  • 打赏
  • 举报
回复
我现在正在想这个问题,问题1好象楼上的人的思路可行。
问题2
我想这样
先做个透明的窗体,放上你的小动物图片。
然后这个窗体,永远在窗体的最前面,就可以了。
关于要动的话,可以用时间,位置,图片的变化。
sssa2000 2001-09-18
  • 打赏
  • 举报
回复
没人说了阿
sssa2000 2001-09-16
  • 打赏
  • 举报
回复
我把问题在详细一点
1 好像再也不能详细了. 作图片浏览器是很麻烦的,关键是那个滚动条,我就是想模仿acdsee那样
不用滚动条, 鼠标一放到图片上就变成了一个手的形状,可以按住左键不放,拖动鼠标就可以看到
image控件以外的部分.这因该很详细了吧.


2 我想在屏幕上画一个运动的图标,就想电脑上的电子宠物一样,它可以在桌面上方浮动.很多网站多有类似的动画,
sssa2000 2001-09-15
  • 打赏
  • 举报
回复
有详细的代码吗
lanren_me 2001-09-15
  • 打赏
  • 举报
回复
难啊!
自己搜索看看吧!
sssa2000 2001-09-15
  • 打赏
  • 举报
回复
如果是image控件应该是一样的吧?
Frazy 2001-09-15
  • 打赏
  • 举报
回复
up
dreambroken 2001-09-15
  • 打赏
  • 举报
回复
移动窗体
dim x1,y1
monusedown事件
x1=x
y1=y
monusemove事件
if button=1 then
me.move me.left+x-x1,me.top+y-y1
end if
Jneu 2001-09-15
  • 打赏
  • 举报
回复
是啊!
bdzwc 2001-09-15
  • 打赏
  • 举报
回复
要多详细?那你的问题也详细些
bdzwc 2001-09-14
  • 打赏
  • 举报
回复
问题2
将窗体BORDERSTYLE为0
ME.MOVE
chenlin2000 2001-09-14
  • 打赏
  • 举报
回复
用鼠标的拖动事件,在mousemove事件中传递给图片的top,left

7,765

社区成员

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

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