Problème Flash/Webbrowser VB.Net 2005

Résolu
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 - 10 nov. 2007 à 23:25
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 - 3 juin 2009 à 13:07
Bonjour,
J'ai un problème (si, si, je vous assure) :

Il se trouve que sous vb6 quand on naviguait avec un webbrowser les applis flash marchaient très bien ...
Sous VB.Net, quand on clique 2 fois de suite sur un truc flash ça ne marche pas et on doit cliquer ailleur (n'importe où) pour que ça marche.

J'ai pensé que c'était un problème de focus mais même en le remettant ailleur, ça ne marche pas.
Je me suis aussi aperçu que d'après le comportement et les couleur de l'appli flash il detecte bien la position de la souris et le clique mais ne l'interprete pas ...

Merci d'avance pour votre aide

Antho2005

4 réponses

cs_Yxion Messages postés 219 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 septembre 2009
14 nov. 2007 à 14:19
Si tu n'as toujours pas résolu ton pb, je viens de publier un post la dessus après avoir eu le même problème le même jour apparement  :



http://developpeur-net.blogspot.com/2007/11/le-webbrowser-et-le-flash.html



C'est en C#, mais le principe est le même.







<hr />

I love .net
3
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
14 nov. 2007 à 20:01
Resalut,
en faite j'ai utilisé une autre solution sur le site que tu cite sur ton site

protectedoverridevoid WndProc( ref System.Windows.Forms.Message m )
{
switch(m.Msg)
{
case 0x201: // WM_LBUTTONDOWN
case 0x204:
case 0x207:
case 0x21:
base.DefWndProc( ref m );
return;
}
base.WndProc( ref m );
}

ce qui fait en vb :

ProtectedOverloadsOverridesSub WndProc(ByRef m As Message)

  If m.Msg = 33 AndAlsoNot DesignMode Then
    Dim control As Control = Me
    While control <> Nothing
      If control.[GetType]() = GetType(ContainerControl) Then
        control.Focus()
        ExitWhile
      EndIf
      control = control.Parent
    EndWhile
  EndIf
EndSub

Pour mettre ce code vous devez ajouter une classe component (ajouter un élément > classe component), mettre
Inherits WebBrowser au début et marquer le code ci-dessus après
Ensuite sur votre form vous remplacez le webbrowser par votre composant (Dans la catégorie "Composants [NomDeVotreProjet]") en remettant les paramètres de celui d'avant (le webbrowser ...).

Voili Voilou

Antho
3
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
14 nov. 2007 à 16:14
Salut,

Tout d'abbord merci pour ta réponse, c'est exactement ce qu'il me fallait !
Mais j'ai un problème

J'ai changé ton code en VB, je l'ai mis dans une classe héitée de webbrowser mais ...

Comment l'utilise-t-on  

Merci pour tout

Antho
0
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
3 juin 2009 à 13:07
1 an et demi après ...
Après une recherche sur google pour un autre problème je retombe sur ce sujet ...
Et je me rend compte que j'ai mis n'importe quoi
Alors ce que j'ai dis c'est bon sauf que le code en VB c'est pas du tout ça, ça c'était la transformation du code de Yxion que je ne savais pas comment utiliser (je n'ai pas réessayé, peut-être que maintenant je saurais, qui sait ... ).
Donc ça donne en réalité:
    'La liste est dispo à http://www.pinvoke.net/default.aspx/Constants/WM.html
    Private Const WM_LBUTTONDOWN As Integer = &H201
    Private Const WM_RBUTTONDOWN As Integer = &H204
    Private Const WM_MBUTTONDOWN As Integer = &H207
    Private Const WM_MOUSEACTIVATE As Integer = &H21

    Protected Overloads Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
        Select Case m.Msg
            Case WM_LBUTTONDOWN, WM_MBUTTONDOWN, WM_RBUTTONDOWN, WM_MOUSEACTIVATE
                MyBase.DefWndProc(m)
                Return
        End Select
        MyBase.WndProc(m)
    End Sub

A+

Antho 25
------------------------------------
Rien n'empêche Melba
0
Rejoignez-nous