现在想做一个程序,界面上利用图片框来实现XP界面的拖曳,
我现在想问:
1.如何实现图片框的透明显示
2.VB下除了图版式框外,还有其他控件可以代替图片框来实现移动窗体的功能吗

解决方案 »

  1.   

    理论上任何控件都可以的。。
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Const HTCAPTION = 2
    Private Const WM_NCLBUTTONDOWN = &HA1Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
    ReleaseCapture
    SendMessage hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
    End IfEnd Sub
    ---可以用其它控件代替picture1
      

  2.   

    少贴一句
    Private Declare Function ReleaseCapture Lib "user32" () As Long
      

  3.   

    楼上说得不错,我也是用你的办法来实现的,只是在用到其他控件时,这个方法不起作用,所以想知道Picturebox能不能做透明处理
      

  4.   

    用Image控件代替PictureBox,加载的图片是需要GIF格式的,透明部分才能显现出来
    至于拖拽上面已经有人写了
    vb几乎所有控件都可以辅助完成拖拽,因为几乎所有控件都有MouseDown事件(运行时为不可见的控件除外)所以只要有MouseDown和MouseMove事件的控件都行滴
      

  5.   

    我将在PictureBox下的代码复制到image或其他控件的MouseDown事件下都不行,所以才要请教大家