Bonjour,
Ma question est un peu complexe.
Je souhaite charger et décharger ma feuille de données en me servant de l'API WINDOWS.
J'ai mis dans un module les constantes suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
' Replie la fenêtre de la gauche vers la droite
Public Const AW_HOR_POSITIVE=&H1
' Replie la fenêtre de la droite vers la gauche
Public Const AW_HOR_NEGATIVE=&H2
' Replie la fenêtre du haut vers le bas
Public Const AW_VER_POSITIVE=&H4
' Replie la fenêtre du bas vers le haut
Public Const AW_VER_NEGATIVE=&H8
' Masque la fenêtre
Public Const AW_HIDE=&H10000
' Réduction de la fenêtre vers son centre ou inversement
Public Const AW_CENTER=&H10
' Active la fenêtre
Public Const AW_ACTIVATE=&H20000
' Effet de fondu sur la fenêtre
Public Const AW_BLEND=&H80000
' Fait 'rouler' la fenêtre
Public Const AW_SLIDE=&H40000
J'ai ensuite déclaré :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Public Declare Function AnimateWindow Lib "user32" _
(ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) _
As Boolean
Mes renseignements provenant de 2 sources différentes, j'ai déclaré dans le formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Private Sub Form_Load(Cancel As Integer)
AnimateWindow Me.hwnd,10000, AW_CENTER _
Or AW_SLIDE
End Sub
'Ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Private Sub Form_Load()
Debug.Print AnimateWindow (Me.hwnd,10000, &H10 _
Or &H20000)
End Sub
La première procédure ne fonctionne pas, et la deuxième reste noire pendant très longtemps et l'onglet ne s'affiche pas.

J'ai fait également :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Private Sub Form_Unload(Cancel As Integer)
' Fermeture d'un onglet
AnimateWindow Me.hwnd, 1600,     AW_VER_NEGATIVE _
Or AW_HOR_NEGATIVE Or AW_HIDE
End Sub
Là, celà fonctionne bien.

Quelqu'un peut-il me dire ce que je dois faire et ce qui ne va pas ?

D'avance merci,

JeanMickey

Bonjour,
Excusez-moi d'avoir posé ma question de façon trop complexe. C'est sans
doute pour cela que personne n'y a répondu.
D'une façon plus simple, voilà mon problème. J'ai tapé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Private Declare Function AnimateWindow Lib "user32" (ByVal hWnd As Long, _
ByVal dwTime As Long, ByVal dwFlags As Long) As Long
 
Private Sub Form_Load()
Debug.Print AnimateWindow(Me.hWnd, 1000, &H10 Or &H20000)
End Sub
Private Sub Form_UnLoad()
Debug.Print AnimateWindow(Me.hWnd, 1000, &H8 Or &H2 Or &H10000)
End Sub
Avec l'évènement UnLoad, pas de problème. Par contre, avec Load, la
fenêtre reste noire pendant très longtemps et la croix de fermeture ne s'affiche pas.
Quelqu'un pourrait-il me dire quoi faire?
D'avance merci,
JeanMickey