Bonjour à tous
pour faire suite à un autre sujet je repose ici mon problème .
Avec Window Vista et le thème Vista Aero (panneau de configuration/Personalisation/Couleurs et apparence des fenêtres/Modèle de couleurs/window vista Aero.) lorsque vous faites glisser un objet même dans le développement VB, le déplacement est très saccadé.
pour remédier à ceci on m'a conseillé de désactiver Vista Aero, il existe donc une API qui fait ça. Le problème est que je n'arrive pas à la sortie du programme à réactivé Vista Aero.
voici le code qui fonctionne très bien avec un programme aussi simple qu'un simple picture box sur une form ( permet de vérifier le déplacement aisé des objets) mais qui ne fonctionne plus (la réactivation ) lorsquele programme est plus complexe ici pour moi en loccurence un jeu de scrabble.
'laisser Vista Aero activé
'faites une form avec un picturebox
'Vérifier que le thème Vista Aero est réactivé
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 'Les valeurs d'entrées sont Private Const DWM_EC_DISABLECOMPOSITION As Long = 0 Private Const DWM_EC_ENABLECOMPOSITION As Long = 1 'La déclaration en VB6 semble être: Private Declare Function DwmEnableComposition Lib "dwmapi" (uCompositionAction As Long) As Long Private Sub Form_Load() dim result as long result=1'pour être bien sur d'un changement d'état result = (DwmEnableComposition(DWM_EC_DISABLECOMPOSITION)) if result=0 Then MsgBox "Vista Aero est Désactivé" Else MsgBox "Vista Aero n'a pas pu être Désactivé" End If End Sub 'Vérifié le déplacement aisé du picture box Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) dim result as long result=1 result=(DwmEnableComposition(DWM_EC_ENABLECOMPOSITION)) if result = 0 Then MsgBox "Vista Aero est Activé" Else MsgBox "Vista Aero n'a pas pu être activé" End If End Sub
Sur un simple prog comme celui du haut pas de problème ( du moins chez moi) Vista Aero est bien réactivé mais si vous avez un prog plus complexe essayez d'intégrer ces lignes de codes et vérifiez la réactivation de Vista Aero.
Ce que je me suis apperçu pour réactiver Vista Aero j'étais obliger d'arrêter le processus dwm.exe dans le gestionnaire de tâche.
il y a bien quelques explications sur les commandes Dwm... sur MSDN mais en anglais . j'avoue que j'ai du mal à intégrer!
merci d'avance pour votre aide
Partager