Paskal .... tu avais dit 15 jours sans ordi, ou j'avais mal compris ?
Comme je suis en vacances, juste le minimum... j'avais deux heures à perdre ce matin.. (et 5 min ce soir)... :-)
(Il n'existe pas de patch anti-pc) ;-)
-- @+ Paskal
scraper
Bonjour François Picalausa (dans news:) tu nous disais :
Peut-être utilises-tu déjà Microsoft Windows Common Controls-2 6.0 ?
oui ;-)
Dans ce cas, tu pourrais placer un contrôle Animation et utiliser le code suivant: Option Explicit
[...]
ça fonctionne nickel, je te remercie !
donc, j'ai opté pour la première solution et c'est super :-)
un tout petit détail, je comprends pas ceci : -----
Pour obtenir les notifications ACN_START et/ou ACN_STOP, il faudrait sous classer la form et récupérer les messages WM_COMMAND.
------
il est de fait que je souhaiterais, par exemple, faire "pauser" l'exécution de l'animation, et que quand elle reprend, elle le fasse exactement au point où elle s'est arrêtée
mais j'avoue ne pas comprendre ce que tu veux dire ci dessus ?
si tu veux bien éclairer ma lanterne ;-)
merci encore, en tout cas :-)
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Bonjour François Picalausa
(dans news:ezkhg7dgEHA.644@tk2msftngp13.phx.gbl)
tu nous disais :
Peut-être utilises-tu déjà Microsoft Windows Common Controls-2 6.0 ?
oui ;-)
Dans ce cas, tu pourrais placer un contrôle Animation et utiliser le
code suivant:
Option Explicit
[...]
ça fonctionne nickel, je te remercie !
donc, j'ai opté pour la première solution et c'est super :-)
un tout petit détail, je comprends pas ceci :
-----
Pour obtenir les notifications ACN_START et/ou ACN_STOP, il faudrait
sous classer la form et récupérer les messages WM_COMMAND.
------
il est de fait que je souhaiterais, par exemple, faire "pauser" l'exécution
de l'animation, et que quand elle reprend, elle le fasse exactement au point
où elle s'est arrêtée
mais j'avoue ne pas comprendre ce que tu veux dire ci dessus ?
si tu veux bien éclairer ma lanterne ;-)
merci encore, en tout cas :-)
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
Bonjour François Picalausa (dans news:) tu nous disais :
Peut-être utilises-tu déjà Microsoft Windows Common Controls-2 6.0 ?
oui ;-)
Dans ce cas, tu pourrais placer un contrôle Animation et utiliser le code suivant: Option Explicit
[...]
ça fonctionne nickel, je te remercie !
donc, j'ai opté pour la première solution et c'est super :-)
un tout petit détail, je comprends pas ceci : -----
Pour obtenir les notifications ACN_START et/ou ACN_STOP, il faudrait sous classer la form et récupérer les messages WM_COMMAND.
------
il est de fait que je souhaiterais, par exemple, faire "pauser" l'exécution de l'animation, et que quand elle reprend, elle le fasse exactement au point où elle s'est arrêtée
mais j'avoue ne pas comprendre ce que tu veux dire ci dessus ?
si tu veux bien éclairer ma lanterne ;-)
merci encore, en tout cas :-)
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
François Picalausa
Hello,
Peut-être qu'un jour je parlerai français sans ajouter des noms de constantes toutes les deux lignes ;-) ACN_START (et ACN_STOP) sont des notifications envoyées par un contrôle de type animation pour prévenir le parent que la lecture a débuté ou a été arrêtée. Cette notification est faite par l'envoi d'un message WM_COMMAND au conteneur du contrôle (comme quand on utilise SendMessage, avec ici un message WM_COMMAND, a la différence qu'ici c'est le contrôle animation et pas toi qui envoie le message). En VB, récupérer des messages et effectuer un traitement, on appelle ça un événement ;-) Ne pas chercher, le contrôle animation ne possède pas d'événement start ou stop... d'où l'utilité de sous classer le conteneur (la form souvent), puisque cela permet d'intercepter les messages.
Pauser l'animation n'est pas une chose évidente. On ne sait pas déterminer (er... rectification... je n'ai pas trouvé le moyen de déterminer) à quelle "frame" l'animation s'est arrêtée. En supposant que cela existe, il faudrait aussi pouvoir reprendre l'animation à un point... je n'ai pas dit que c'était impossible! Simplement je ne vois pas comment faire... peut-être en jouant avec ACM_PLAY (Animation1.Play)?
Sinon il faudra passer par les API multimedia... (mode retour à la KB 173668): Dans le module 1, il faut remplacer la déclaration de FindResource par: Public Declare Function FindResource Lib "kernel32" _ Alias "FindResourceA" _ ( _ ByVal hInstance As Long, _ ByVal lpName As Long, _ ByVal lpType As String _ ) _ As Long
Ensuite, dans une form: Option Explicit
Private Sub PlayResVidInPicBox(DllName As String, intResIndex As Integer, PBox As PictureBox, Optional Resize As Boolean) Dim hRsrc As Long Dim hGlobal As Long Dim strCmd As String, strReturnVal As String Dim nbuf As Long
'Loads the resource 'Change the filename argument in the next line to the path and 'filename of your resource dll file. hInst = LoadLibrary(DllName) ' <<<< hRsrc = FindResource(hInst, CLng(intResIndex), "AVI") hGlobal = LoadResource(hInst, hRsrc) lpData = LockResource(hGlobal) fileSize = SizeofResource(hInst, hRsrc)
strCmd = "close IEDownloadFile" strReturnVal = mciSendString(strCmd, 0&, 0&, 0&) End If
Call mmioInstallIOProc(MEY, vbNull, MMIO_REMOVEPROC) FreeLibrary hInst End Sub
Private Sub Command1_Click() PlayResVidInPicBox "shdocvw.dll", 256, Picture1 End Sub
Si tu essaye cette méthode, je prédis tes questions: Est-ce qu'on peut faire en sorte de jouer la vidéo sans le fond rose? Réponse : Oui, ça doit être possible! Est-ce qu'on peut jouer la vidéo de manière asynchrone? Réponse : Dans "play IEDownloadFile wait", enlever le wait... mettre le stop dans le form unload et le chargement de la video comme shareable ou uniquement à l'initialisation de la form. Est-ce qu'on peut répéter la vidéo? Réponse : Dans le même play qu'au dessus, ajouter repeat
Le but était au départ de mettre en pause.. sinon ça n'a pas d'intérêt... et bien, c'est possible aussi! strCmd = "pause IEDownloadFile" strReturnVal = mciSendString(strCmd, 0&, 0&, 0&) appeler play ensuite pour rependre la lecture...
Pour le fond rose, je pense qu'il faudrait chercher du côté de realize (strCmd = "realize IEDownloadFile", ...) ou peut-être setvideo: http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_setvideo.asp Deux aspirines avec ça et au lit ;-) Si tu n'y arrive pas, j'essayerai de faire un usercontrol qui gère tout ça automatiquement (pas l'aspirine hein ;-) )...
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com
"scraper" a écrit dans le message de news:
Bonjour François Picalausa (dans news:) tu nous disais : un tout petit détail, je comprends pas ceci : -----
Pour obtenir les notifications ACN_START et/ou ACN_STOP, il faudrait sous classer la form et récupérer les messages WM_COMMAND.
------
il est de fait que je souhaiterais, par exemple, faire "pauser" l'exécution de l'animation, et que quand elle reprend, elle le fasse exactement au point où elle s'est arrêtée
Hello,
Peut-être qu'un jour je parlerai français sans ajouter des noms de
constantes toutes les deux lignes ;-)
ACN_START (et ACN_STOP) sont des notifications envoyées par un contrôle de
type animation pour prévenir le parent que la lecture a débuté ou a été
arrêtée.
Cette notification est faite par l'envoi d'un message WM_COMMAND au
conteneur du contrôle (comme quand on utilise SendMessage, avec ici un
message WM_COMMAND, a la différence qu'ici c'est le contrôle animation et
pas toi qui envoie le message). En VB, récupérer des messages et effectuer
un traitement, on appelle ça un événement ;-)
Ne pas chercher, le contrôle animation ne possède pas d'événement start ou
stop... d'où l'utilité de sous classer le conteneur (la form souvent),
puisque cela permet d'intercepter les messages.
Pauser l'animation n'est pas une chose évidente. On ne sait pas déterminer
(er... rectification... je n'ai pas trouvé le moyen de déterminer) à quelle
"frame" l'animation s'est arrêtée.
En supposant que cela existe, il faudrait aussi pouvoir reprendre
l'animation à un point... je n'ai pas dit que c'était impossible! Simplement
je ne vois pas comment faire... peut-être en jouant avec ACM_PLAY
(Animation1.Play)?
Sinon il faudra passer par les API multimedia... (mode retour à la KB
173668):
Dans le module 1, il faut remplacer la déclaration de FindResource par:
Public Declare Function FindResource Lib "kernel32" _
Alias "FindResourceA" _
( _
ByVal hInstance As Long, _
ByVal lpName As Long, _
ByVal lpType As String _
) _
As Long
Ensuite, dans une form:
Option Explicit
Private Sub PlayResVidInPicBox(DllName As String, intResIndex As Integer,
PBox As PictureBox, Optional Resize As Boolean)
Dim hRsrc As Long
Dim hGlobal As Long
Dim strCmd As String, strReturnVal As String
Dim nbuf As Long
'Loads the resource
'Change the filename argument in the next line to the path and
'filename of your resource dll file.
hInst = LoadLibrary(DllName) ' <<<<
hRsrc = FindResource(hInst, CLng(intResIndex), "AVI")
hGlobal = LoadResource(hInst, hRsrc)
lpData = LockResource(hGlobal)
fileSize = SizeofResource(hInst, hRsrc)
strCmd = "close IEDownloadFile"
strReturnVal = mciSendString(strCmd, 0&, 0&, 0&)
End If
Call mmioInstallIOProc(MEY, vbNull, MMIO_REMOVEPROC)
FreeLibrary hInst
End Sub
Private Sub Command1_Click()
PlayResVidInPicBox "shdocvw.dll", 256, Picture1
End Sub
Si tu essaye cette méthode, je prédis tes questions:
Est-ce qu'on peut faire en sorte de jouer la vidéo sans le fond rose?
Réponse : Oui, ça doit être possible!
Est-ce qu'on peut jouer la vidéo de manière asynchrone?
Réponse : Dans "play IEDownloadFile wait", enlever le wait... mettre le stop
dans le form unload et le chargement de la video comme shareable ou
uniquement à l'initialisation de la form.
Est-ce qu'on peut répéter la vidéo?
Réponse : Dans le même play qu'au dessus, ajouter repeat
Le but était au départ de mettre en pause.. sinon ça n'a pas d'intérêt... et
bien, c'est possible aussi!
strCmd = "pause IEDownloadFile"
strReturnVal = mciSendString(strCmd, 0&, 0&, 0&)
appeler play ensuite pour rependre la lecture...
Pour le fond rose, je pense qu'il faudrait chercher du côté de realize
(strCmd = "realize IEDownloadFile", ...) ou peut-être setvideo:
http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_setvideo.asp
Deux aspirines avec ça et au lit ;-)
Si tu n'y arrive pas, j'essayerai de faire un usercontrol qui gère tout ça
automatiquement (pas l'aspirine hein ;-) )...
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
"scraper" <scraper@pasdespam.fr> a écrit dans le message de
news:eOC93AsiEHA.3896@TK2MSFTNGP15.phx.gbl
Bonjour François Picalausa
(dans news:ezkhg7dgEHA.644@tk2msftngp13.phx.gbl)
tu nous disais :
un tout petit détail, je comprends pas ceci :
-----
Pour obtenir les notifications ACN_START et/ou ACN_STOP, il faudrait
sous classer la form et récupérer les messages WM_COMMAND.
------
il est de fait que je souhaiterais, par exemple, faire "pauser"
l'exécution de l'animation, et que quand elle reprend, elle le fasse
exactement au point où elle s'est arrêtée
Peut-être qu'un jour je parlerai français sans ajouter des noms de constantes toutes les deux lignes ;-) ACN_START (et ACN_STOP) sont des notifications envoyées par un contrôle de type animation pour prévenir le parent que la lecture a débuté ou a été arrêtée. Cette notification est faite par l'envoi d'un message WM_COMMAND au conteneur du contrôle (comme quand on utilise SendMessage, avec ici un message WM_COMMAND, a la différence qu'ici c'est le contrôle animation et pas toi qui envoie le message). En VB, récupérer des messages et effectuer un traitement, on appelle ça un événement ;-) Ne pas chercher, le contrôle animation ne possède pas d'événement start ou stop... d'où l'utilité de sous classer le conteneur (la form souvent), puisque cela permet d'intercepter les messages.
Pauser l'animation n'est pas une chose évidente. On ne sait pas déterminer (er... rectification... je n'ai pas trouvé le moyen de déterminer) à quelle "frame" l'animation s'est arrêtée. En supposant que cela existe, il faudrait aussi pouvoir reprendre l'animation à un point... je n'ai pas dit que c'était impossible! Simplement je ne vois pas comment faire... peut-être en jouant avec ACM_PLAY (Animation1.Play)?
Sinon il faudra passer par les API multimedia... (mode retour à la KB 173668): Dans le module 1, il faut remplacer la déclaration de FindResource par: Public Declare Function FindResource Lib "kernel32" _ Alias "FindResourceA" _ ( _ ByVal hInstance As Long, _ ByVal lpName As Long, _ ByVal lpType As String _ ) _ As Long
Ensuite, dans une form: Option Explicit
Private Sub PlayResVidInPicBox(DllName As String, intResIndex As Integer, PBox As PictureBox, Optional Resize As Boolean) Dim hRsrc As Long Dim hGlobal As Long Dim strCmd As String, strReturnVal As String Dim nbuf As Long
'Loads the resource 'Change the filename argument in the next line to the path and 'filename of your resource dll file. hInst = LoadLibrary(DllName) ' <<<< hRsrc = FindResource(hInst, CLng(intResIndex), "AVI") hGlobal = LoadResource(hInst, hRsrc) lpData = LockResource(hGlobal) fileSize = SizeofResource(hInst, hRsrc)
strCmd = "close IEDownloadFile" strReturnVal = mciSendString(strCmd, 0&, 0&, 0&) End If
Call mmioInstallIOProc(MEY, vbNull, MMIO_REMOVEPROC) FreeLibrary hInst End Sub
Private Sub Command1_Click() PlayResVidInPicBox "shdocvw.dll", 256, Picture1 End Sub
Si tu essaye cette méthode, je prédis tes questions: Est-ce qu'on peut faire en sorte de jouer la vidéo sans le fond rose? Réponse : Oui, ça doit être possible! Est-ce qu'on peut jouer la vidéo de manière asynchrone? Réponse : Dans "play IEDownloadFile wait", enlever le wait... mettre le stop dans le form unload et le chargement de la video comme shareable ou uniquement à l'initialisation de la form. Est-ce qu'on peut répéter la vidéo? Réponse : Dans le même play qu'au dessus, ajouter repeat
Le but était au départ de mettre en pause.. sinon ça n'a pas d'intérêt... et bien, c'est possible aussi! strCmd = "pause IEDownloadFile" strReturnVal = mciSendString(strCmd, 0&, 0&, 0&) appeler play ensuite pour rependre la lecture...
Pour le fond rose, je pense qu'il faudrait chercher du côté de realize (strCmd = "realize IEDownloadFile", ...) ou peut-être setvideo: http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_setvideo.asp Deux aspirines avec ça et au lit ;-) Si tu n'y arrive pas, j'essayerai de faire un usercontrol qui gère tout ça automatiquement (pas l'aspirine hein ;-) )...
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com
"scraper" a écrit dans le message de news:
Bonjour François Picalausa (dans news:) tu nous disais : un tout petit détail, je comprends pas ceci : -----
Pour obtenir les notifications ACN_START et/ou ACN_STOP, il faudrait sous classer la form et récupérer les messages WM_COMMAND.
------
il est de fait que je souhaiterais, par exemple, faire "pauser" l'exécution de l'animation, et que quand elle reprend, elle le fasse exactement au point où elle s'est arrêtée