Glisser - coller (drag - drop) un fichier sur WMP 9 (media player)

BaronMouDuKu Messages postés 2 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 8 juillet 2004 - 7 juil. 2004 à 14:09
SkyRocKo Messages postés 174 Date d'inscription samedi 10 mai 2003 Statut Membre Dernière intervention 18 février 2006 - 14 juin 2005 à 17:40
Bonjour a tous !

bien que je ne sois pas completement un newbie en Visual Basic, je n'ai jamais manipulé le drag & drop.
J'ai programmé un lecteur media dédicacé pour ma TV, histoire qu'il fonctionne exactement comme je veux (fullscreen, barre de controle, lecture accelere même sur les DivX...). Il est basé sur le composant lecteur WindowsMediaPlayer9 (wmp.dll)
Mon probleme c'est que je voudrais pouvoir lancer des films en glissant le fichier direct de l'explorateur sur mon player.
Si je comprend bien, le glisser-coller entre application, c'est du OLE automation, mais il n'y a pas de parametre OLE dans le WMP.
Par contre, la fenetre parente en a, et en effet je peut glisser des fichier dessus et dire a WMP de les lire ensuite. Sauf que, quand WMP est en fullscreen, il recouvre totalement la fenetre parente, donc je ne peut plus y acceder avec mon glisser-coller.

J'ai juste placé le composant WMP sur une Form classique, est-ce que la solution se trouve dans un conteneur OLE ? est-ce un composant transparent et au premier plan qui capte les glisser - coller, ou un parent ou je doit placer mon WMP ? et dans ce dernier cas, comment le faire ? quelles API ou OCX ?

j'ai du mal a comprendre comment ca marche tout ca...
AU SECOURS !

3 réponses

cs_NoMitsu Messages postés 122 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 15 février 2011
7 juil. 2004 à 23:09
Voici un exemple pour recuperer le chemin d'un fichier glisser sur la feuille (par exemple du burreau sur ta feuille)

Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
 Dim Fichier As Variant
    
    For Each Fichier In Data.Files
        Debug.Print Fichier
    Next
End Sub


pour que sa marche il faut bien verifier que la proprieter "OLEDropMODE" est bien en manuel (= 1)
0
BaronMouDuKu Messages postés 2 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 8 juillet 2004
8 juil. 2004 à 11:32
Ca y'a pas de probleme, c'est le drag and drop pour une form classique. Et ca je le fais deja marcher.
C'est juste que WMP ne possede pas de propriete OLE quelconque.
Donc le drag and drop je ne peut le faire que sur autre chose que sur le film en cours de lecture.
Mais j'ai trouve la soluce. je place au premier plan un objet image que je rend entierement invisible (pad de bord, d'apparence ni d'image dedans) et qui fait la taille de mon lecteur. Du coup je fais le drag and drop sur lui, vu qu'il a les proprietes OLE. et ca marche.

Merci pour tout !
0
SkyRocKo Messages postés 174 Date d'inscription samedi 10 mai 2003 Statut Membre Dernière intervention 18 février 2006
14 juin 2005 à 17:40
Hello !



Merci pour l'astuce NoMitsu, ça m'a bien aidé



Bonne continuation



SkyRocKo
0
Rejoignez-nous