如何拖动FLASH文件?就像QQ宠物一样,可以拖动的,我用了一个标签挡在FLASH的上方,FLASH是可以拖动了,但是就是不能点击FLASH文件里的按钮了,被盖住了,有没有好的办法,可以拖动FLASH,又不影响FLASH按钮的使用(注:窗体已经被透明化了.)

解决方案 »

  1.   

    不知你的flash控件有没有MouseDown事件,如果有那应该好办
      

  2.   

    Mark......找不到可行的方法。
    有情Up.....
      

  3.   

    flash控件不是可以通过flashcall或fscommand方法回传事件的么,你把点在flash元件上的事件传给容器不就得了
      

  4.   

    1、flash里给你的MovieClip加个监听事件(我这里用的是flash cs4 actionscript 3.0)mybtn.addEventListener(MouseEvent.MOUSE_DOWN, myOnMouseDown);   
    function myOnMouseDown(e:MouseEvent):void   
    {   
    fscommand('mouseEvent','down');
    }
    2、vb里接收
    Option Explicit
    Private Declare Function ReleaseCapture Lib "user32" () As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Const HTCAPTION = 2
    Private Const WM_NCLBUTTONDOWN = &HA1Private Sub Form_Load()
        ShockwaveFlash1.Movie = App.Path & "\my.swf"
    End SubPrivate Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String)
        If command <> "mouseEvent" Then Exit Sub
        Select Case args
        Case "down"
            ReleaseCapture
            SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, ByVal 0&
        End Select
    End Sub
      

  5.   

    但是flash是现成的了,好像难办哦,并且我对flash不是很懂.
      

  6.   

    你可以自己做个flash去加载那个已有的flash
      

  7.   

    1、用flash做个loader去加载现有的swf文件var loader=new Loader();
    addChild(loader);
    loader.load(new URLRequest('my.swf'));
    2、vb里加载你自己做的那个loader.swf
    Private Sub Form_Load()
        ShockwaveFlash1.Movie = App.Path & "\loader.swf"
    End Sub
    ...
      

  8.   

    1、用flash做个loader去加载现有的swf文件var loader=new Loader();
    addChild(loader);
    loader.load(new URLRequest('my.swf'));
    2、vb里加载你自己做的那个loader.swf
    Private Sub Form_Load()
        ShockwaveFlash1.Movie = App.Path & "\loader.swf"
    End Sub
    ...