'Ouvrir et fermer les fenêtres de manière originale (GetActiveWindow et
AnimateWindow de user32)
Bonjour,
Je ne suis qu'un amateur, mais je souhaiterais me servir d'AnimateWindow.
J'ai déjà demandé une réponse au NewsGroup, mais ces réponses ne
fonctionnent pas (ou alors
j'ai mal compris leur contenu, ou la façon de les utiliser).
Voici un petit bout de code (normalement bon puisqu'il provient d'un cours
VBA.
Je souhaiterais faire fonctionner celà sur un UserForm. Que dois-je faire ?
D'avance merci. Jean-michel
Declare Function AnimateWindow Lib "user32" ( _
ByVal hwnd As Long, _
ByVal dwTime As Long, _
ByVal dwFlags As Long) As Long
Declare Function GetActiveWindow Lib "user32" () As Long
Sub par_le_centre()
Sheets(1).Activate
fen = GetActiveWindow()
Call AnimateWindow(fen, 500, &H10 Or &H10000)
Call AnimateWindow(fen, 500, &H10 Or &H20000)
End Sub
Sub haut_bas_cotes()
Sheets(1).Activate
fen = GetActiveWindow()
Call AnimateWindow(fen, 500, &H4 Or &H10000)
Call AnimateWindow(fen, 500, &H2 Or &H20000)
Call AnimateWindow(fen, 500, &H8 Or &H10000)
Call AnimateWindow(fen, 500, &H1 Or &H20000)
End Sub
Selon les paramètres, la fonction AnimateWindow masque (&H10000) ou affiche
(&H20000) la fenêtre avec des effets spéciaux (par le centre &H10, de droite
à gauche, de haut en bas et inversement).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour imej-clavier,
Voici une procédure de Michel Perron sur le sujet.
Si tu es débutant et que tu veuilles quelque chose de très précis comme animation, tu es mieux de bien décrire ce que tu recherches ....et espérer qu'un intervenant féru en API, décide de t'accorder ses faveurs !
à coller dans ton formulaire, attention au nom de l'objet.
Private Sub UserForm_Activate() Dim i&, u& For i = 0 To x Me.Width = i: Me.Height = i * y DoEvents UserForm1.Repaint Next i End Sub
Private Sub UserForm_Initialize() x = Me.Width: y = Me.Height / x Me.StartUpPosition = 0 Me.Left = (Application.Width - Me.Width) / 2 Me.Top = (Application.Height - Me.Height) / 2 Me.Width = 0: Me.Height = 0 End Sub
Salutations!
"imej-clavier" a écrit dans le message de news: 'Ouvrir et fermer les fenêtres de manière originale (GetActiveWindow et AnimateWindow de user32) Bonjour, Je ne suis qu'un amateur, mais je souhaiterais me servir d'AnimateWindow. J'ai déjà demandé une réponse au NewsGroup, mais ces réponses ne fonctionnent pas (ou alors j'ai mal compris leur contenu, ou la façon de les utiliser). Voici un petit bout de code (normalement bon puisqu'il provient d'un cours VBA. Je souhaiterais faire fonctionner celà sur un UserForm. Que dois-je faire ? D'avance merci. Jean-michel
Declare Function AnimateWindow Lib "user32" ( _ ByVal hwnd As Long, _ ByVal dwTime As Long, _ ByVal dwFlags As Long) As Long Declare Function GetActiveWindow Lib "user32" () As Long
Sub par_le_centre() Sheets(1).Activate fen = GetActiveWindow() Call AnimateWindow(fen, 500, &H10 Or &H10000) Call AnimateWindow(fen, 500, &H10 Or &H20000) End Sub
Sub haut_bas_cotes() Sheets(1).Activate fen = GetActiveWindow() Call AnimateWindow(fen, 500, &H4 Or &H10000) Call AnimateWindow(fen, 500, &H2 Or &H20000) Call AnimateWindow(fen, 500, &H8 Or &H10000) Call AnimateWindow(fen, 500, &H1 Or &H20000) End Sub
Selon les paramètres, la fonction AnimateWindow masque (&H10000) ou affiche (&H20000) la fenêtre avec des effets spéciaux (par le centre &H10, de droite à gauche, de haut en bas et inversement).
Bonjour imej-clavier,
Voici une procédure de Michel Perron sur le sujet.
Si tu es débutant et que tu veuilles quelque chose de très précis comme animation, tu es mieux de bien décrire ce que tu
recherches ....et espérer qu'un intervenant féru en API, décide de t'accorder ses faveurs !
à coller dans ton formulaire, attention au nom de l'objet.
Private Sub UserForm_Activate()
Dim i&, u&
For i = 0 To x
Me.Width = i: Me.Height = i * y
DoEvents
UserForm1.Repaint
Next i
End Sub
Private Sub UserForm_Initialize()
x = Me.Width: y = Me.Height / x
Me.StartUpPosition = 0
Me.Left = (Application.Width - Me.Width) / 2
Me.Top = (Application.Height - Me.Height) / 2
Me.Width = 0: Me.Height = 0
End Sub
Salutations!
"imej-clavier" <imej-clavier@wanadoo.fr> a écrit dans le message de news:Ogk2n9MvEHA.1524@TK2MSFTNGP09.phx.gbl...
'Ouvrir et fermer les fenêtres de manière originale (GetActiveWindow et
AnimateWindow de user32)
Bonjour,
Je ne suis qu'un amateur, mais je souhaiterais me servir d'AnimateWindow.
J'ai déjà demandé une réponse au NewsGroup, mais ces réponses ne
fonctionnent pas (ou alors
j'ai mal compris leur contenu, ou la façon de les utiliser).
Voici un petit bout de code (normalement bon puisqu'il provient d'un cours
VBA.
Je souhaiterais faire fonctionner celà sur un UserForm. Que dois-je faire ?
D'avance merci. Jean-michel
Declare Function AnimateWindow Lib "user32" ( _
ByVal hwnd As Long, _
ByVal dwTime As Long, _
ByVal dwFlags As Long) As Long
Declare Function GetActiveWindow Lib "user32" () As Long
Sub par_le_centre()
Sheets(1).Activate
fen = GetActiveWindow()
Call AnimateWindow(fen, 500, &H10 Or &H10000)
Call AnimateWindow(fen, 500, &H10 Or &H20000)
End Sub
Sub haut_bas_cotes()
Sheets(1).Activate
fen = GetActiveWindow()
Call AnimateWindow(fen, 500, &H4 Or &H10000)
Call AnimateWindow(fen, 500, &H2 Or &H20000)
Call AnimateWindow(fen, 500, &H8 Or &H10000)
Call AnimateWindow(fen, 500, &H1 Or &H20000)
End Sub
Selon les paramètres, la fonction AnimateWindow masque (&H10000) ou affiche
(&H20000) la fenêtre avec des effets spéciaux (par le centre &H10, de droite
à gauche, de haut en bas et inversement).
Voici une procédure de Michel Perron sur le sujet.
Si tu es débutant et que tu veuilles quelque chose de très précis comme animation, tu es mieux de bien décrire ce que tu recherches ....et espérer qu'un intervenant féru en API, décide de t'accorder ses faveurs !
à coller dans ton formulaire, attention au nom de l'objet.
Private Sub UserForm_Activate() Dim i&, u& For i = 0 To x Me.Width = i: Me.Height = i * y DoEvents UserForm1.Repaint Next i End Sub
Private Sub UserForm_Initialize() x = Me.Width: y = Me.Height / x Me.StartUpPosition = 0 Me.Left = (Application.Width - Me.Width) / 2 Me.Top = (Application.Height - Me.Height) / 2 Me.Width = 0: Me.Height = 0 End Sub
Salutations!
"imej-clavier" a écrit dans le message de news: 'Ouvrir et fermer les fenêtres de manière originale (GetActiveWindow et AnimateWindow de user32) Bonjour, Je ne suis qu'un amateur, mais je souhaiterais me servir d'AnimateWindow. J'ai déjà demandé une réponse au NewsGroup, mais ces réponses ne fonctionnent pas (ou alors j'ai mal compris leur contenu, ou la façon de les utiliser). Voici un petit bout de code (normalement bon puisqu'il provient d'un cours VBA. Je souhaiterais faire fonctionner celà sur un UserForm. Que dois-je faire ? D'avance merci. Jean-michel
Declare Function AnimateWindow Lib "user32" ( _ ByVal hwnd As Long, _ ByVal dwTime As Long, _ ByVal dwFlags As Long) As Long Declare Function GetActiveWindow Lib "user32" () As Long
Sub par_le_centre() Sheets(1).Activate fen = GetActiveWindow() Call AnimateWindow(fen, 500, &H10 Or &H10000) Call AnimateWindow(fen, 500, &H10 Or &H20000) End Sub
Sub haut_bas_cotes() Sheets(1).Activate fen = GetActiveWindow() Call AnimateWindow(fen, 500, &H4 Or &H10000) Call AnimateWindow(fen, 500, &H2 Or &H20000) Call AnimateWindow(fen, 500, &H8 Or &H10000) Call AnimateWindow(fen, 500, &H1 Or &H20000) End Sub
Selon les paramètres, la fonction AnimateWindow masque (&H10000) ou affiche (&H20000) la fenêtre avec des effets spéciaux (par le centre &H10, de droite à gauche, de haut en bas et inversement).
Jean-François Aubert
Bonjour,
......ne pas oublier d'ajouter en tête de module du formulaire:
Dim x,y
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"michdenis" a écrit dans le message de news: %
Bonjour imej-clavier,
Voici une procédure de Michel Perron sur le sujet.
Si tu es débutant et que tu veuilles quelque chose de très précis comme animation, tu es mieux de bien décrire ce que tu recherches ....et espérer qu'un intervenant féru en API, décide de t'accorder ses faveurs !
à coller dans ton formulaire, attention au nom de l'objet.
Private Sub UserForm_Activate() Dim i&, u& For i = 0 To x Me.Width = i: Me.Height = i * y DoEvents UserForm1.Repaint Next i End Sub
Private Sub UserForm_Initialize() x = Me.Width: y = Me.Height / x Me.StartUpPosition = 0 Me.Left = (Application.Width - Me.Width) / 2 Me.Top = (Application.Height - Me.Height) / 2 Me.Width = 0: Me.Height = 0 End Sub
Salutations!
"imej-clavier" a écrit dans le message de news: 'Ouvrir et fermer les fenêtres de manière originale (GetActiveWindow et AnimateWindow de user32) Bonjour, Je ne suis qu'un amateur, mais je souhaiterais me servir d'AnimateWindow. J'ai déjà demandé une réponse au NewsGroup, mais ces réponses ne fonctionnent pas (ou alors j'ai mal compris leur contenu, ou la façon de les utiliser). Voici un petit bout de code (normalement bon puisqu'il provient d'un cours VBA. Je souhaiterais faire fonctionner celà sur un UserForm. Que dois-je faire ? D'avance merci. Jean-michel
Declare Function AnimateWindow Lib "user32" ( _ ByVal hwnd As Long, _ ByVal dwTime As Long, _ ByVal dwFlags As Long) As Long Declare Function GetActiveWindow Lib "user32" () As Long
Sub par_le_centre() Sheets(1).Activate fen = GetActiveWindow() Call AnimateWindow(fen, 500, &H10 Or &H10000) Call AnimateWindow(fen, 500, &H10 Or &H20000) End Sub
Sub haut_bas_cotes() Sheets(1).Activate fen = GetActiveWindow() Call AnimateWindow(fen, 500, &H4 Or &H10000) Call AnimateWindow(fen, 500, &H2 Or &H20000) Call AnimateWindow(fen, 500, &H8 Or &H10000) Call AnimateWindow(fen, 500, &H1 Or &H20000) End Sub
Selon les paramètres, la fonction AnimateWindow masque (&H10000) ou affiche (&H20000) la fenêtre avec des effets spéciaux (par le centre &H10, de droite à gauche, de haut en bas et inversement).
Bonjour,
......ne pas oublier d'ajouter en tête de module du formulaire:
Dim x,y
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23usSFqOvEHA.2012@TK2MSFTNGP15.phx.gbl...
Bonjour imej-clavier,
Voici une procédure de Michel Perron sur le sujet.
Si tu es débutant et que tu veuilles quelque chose de très précis comme
animation, tu es mieux de bien décrire ce que tu
recherches ....et espérer qu'un intervenant féru en API, décide de
t'accorder ses faveurs !
à coller dans ton formulaire, attention au nom de l'objet.
Private Sub UserForm_Activate()
Dim i&, u&
For i = 0 To x
Me.Width = i: Me.Height = i * y
DoEvents
UserForm1.Repaint
Next i
End Sub
Private Sub UserForm_Initialize()
x = Me.Width: y = Me.Height / x
Me.StartUpPosition = 0
Me.Left = (Application.Width - Me.Width) / 2
Me.Top = (Application.Height - Me.Height) / 2
Me.Width = 0: Me.Height = 0
End Sub
Salutations!
"imej-clavier" <imej-clavier@wanadoo.fr> a écrit dans le message de
news:Ogk2n9MvEHA.1524@TK2MSFTNGP09.phx.gbl...
'Ouvrir et fermer les fenêtres de manière originale (GetActiveWindow et
AnimateWindow de user32)
Bonjour,
Je ne suis qu'un amateur, mais je souhaiterais me servir d'AnimateWindow.
J'ai déjà demandé une réponse au NewsGroup, mais ces réponses ne
fonctionnent pas (ou alors
j'ai mal compris leur contenu, ou la façon de les utiliser).
Voici un petit bout de code (normalement bon puisqu'il provient d'un cours
VBA.
Je souhaiterais faire fonctionner celà sur un UserForm. Que dois-je faire
?
D'avance merci. Jean-michel
Declare Function AnimateWindow Lib "user32" ( _
ByVal hwnd As Long, _
ByVal dwTime As Long, _
ByVal dwFlags As Long) As Long
Declare Function GetActiveWindow Lib "user32" () As Long
Sub par_le_centre()
Sheets(1).Activate
fen = GetActiveWindow()
Call AnimateWindow(fen, 500, &H10 Or &H10000)
Call AnimateWindow(fen, 500, &H10 Or &H20000)
End Sub
Sub haut_bas_cotes()
Sheets(1).Activate
fen = GetActiveWindow()
Call AnimateWindow(fen, 500, &H4 Or &H10000)
Call AnimateWindow(fen, 500, &H2 Or &H20000)
Call AnimateWindow(fen, 500, &H8 Or &H10000)
Call AnimateWindow(fen, 500, &H1 Or &H20000)
End Sub
Selon les paramètres, la fonction AnimateWindow masque (&H10000) ou
affiche
(&H20000) la fenêtre avec des effets spéciaux (par le centre &H10, de
droite
à gauche, de haut en bas et inversement).
......ne pas oublier d'ajouter en tête de module du formulaire:
Dim x,y
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"michdenis" a écrit dans le message de news: %
Bonjour imej-clavier,
Voici une procédure de Michel Perron sur le sujet.
Si tu es débutant et que tu veuilles quelque chose de très précis comme animation, tu es mieux de bien décrire ce que tu recherches ....et espérer qu'un intervenant féru en API, décide de t'accorder ses faveurs !
à coller dans ton formulaire, attention au nom de l'objet.
Private Sub UserForm_Activate() Dim i&, u& For i = 0 To x Me.Width = i: Me.Height = i * y DoEvents UserForm1.Repaint Next i End Sub
Private Sub UserForm_Initialize() x = Me.Width: y = Me.Height / x Me.StartUpPosition = 0 Me.Left = (Application.Width - Me.Width) / 2 Me.Top = (Application.Height - Me.Height) / 2 Me.Width = 0: Me.Height = 0 End Sub
Salutations!
"imej-clavier" a écrit dans le message de news: 'Ouvrir et fermer les fenêtres de manière originale (GetActiveWindow et AnimateWindow de user32) Bonjour, Je ne suis qu'un amateur, mais je souhaiterais me servir d'AnimateWindow. J'ai déjà demandé une réponse au NewsGroup, mais ces réponses ne fonctionnent pas (ou alors j'ai mal compris leur contenu, ou la façon de les utiliser). Voici un petit bout de code (normalement bon puisqu'il provient d'un cours VBA. Je souhaiterais faire fonctionner celà sur un UserForm. Que dois-je faire ? D'avance merci. Jean-michel
Declare Function AnimateWindow Lib "user32" ( _ ByVal hwnd As Long, _ ByVal dwTime As Long, _ ByVal dwFlags As Long) As Long Declare Function GetActiveWindow Lib "user32" () As Long
Sub par_le_centre() Sheets(1).Activate fen = GetActiveWindow() Call AnimateWindow(fen, 500, &H10 Or &H10000) Call AnimateWindow(fen, 500, &H10 Or &H20000) End Sub
Sub haut_bas_cotes() Sheets(1).Activate fen = GetActiveWindow() Call AnimateWindow(fen, 500, &H4 Or &H10000) Call AnimateWindow(fen, 500, &H2 Or &H20000) Call AnimateWindow(fen, 500, &H8 Or &H10000) Call AnimateWindow(fen, 500, &H1 Or &H20000) End Sub
Selon les paramètres, la fonction AnimateWindow masque (&H10000) ou affiche (&H20000) la fenêtre avec des effets spéciaux (par le centre &H10, de droite à gauche, de haut en bas et inversement).