cs_antho2005
Messages postés150Date d'inscriptionsamedi 8 avril 2006StatutMembreDernière intervention 1 mai 2012
-
10 nov. 2007 à 23:25
cs_antho2005
Messages postés150Date d'inscriptionsamedi 8 avril 2006StatutMembreDerniè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 ...
cs_antho2005
Messages postés150Date d'inscriptionsamedi 8 avril 2006StatutMembreDernière intervention 1 mai 20123 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 ...).
cs_antho2005
Messages postés150Date d'inscriptionsamedi 8 avril 2006StatutMembreDernière intervention 1 mai 20123 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