Transparence Proc 100%

Signaler
Messages postés
561
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010
-
Messages postés
561
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010
-
Slt,
Est ce normal que des que j'active la transparence sur une form mon processeur est utilisé à 100%. Si vous voulez le code pour comprendre dite le moi mais je comprend pas en quoi il amene mon processeur a faire fondre mon portable!!

6 réponses

Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
'Lut,
Peux tu donner ton code pour que l'ont puisse voir
Merci
Messages postés
561
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010

Je précise que c'est un code récupéré sur VbFrance de je ne sais plus qui:

' déclaration pour fonction déplacement de la fenetre
' exemple de code :
' sub form_mousedown(...)
' ReleaseCapture
' SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
' endsub
Option Explicit

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const HTCAPTION = 2
Public Const WM_NCLBUTTONDOWN = &HA1
Public Declare Function ReleaseCapture Lib "user32" () As Long ' et de la relacher

' déclaration pour fonction TransRegion

Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000

Public Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long) As Long

Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd As Long, _
ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hwnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) _
As Long

Private Declare Function SetLayeredWindowAttributes Lib _
"user32" (ByVal hwnd As Long, ByVal crKey As Long, _
ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long


Public Function TransRegion(frm As Form, TranslucenceLevel As Byte, Crk As Long) As Boolean

'**************************************************
'fonction: creer un form transparante et aux forme iréguliere,
' à partir d'une image de fond de fenetre

'PARAMETERS:
' frm: la fenêtre
' TranslucenceLevel: valeur de 0 à 255 (0 complétement transparanet, 255 opaque)
' Crk: couleur a utilisée comme transparance totale pour créer les contours irréguliers

' EXEMPLE:
' Private Sub Form_Load()
' TranslucentForm Me, 128, Crk
' End Sub

'RETURNS: TRUE IF SUCCESSFUL, FALSE OTHERWISE

SetWindowLong frm.hwnd, GWL_EXSTYLE, WS_EX_LAYERED
SetLayeredWindowAttributes frm.hwnd, Crk, TranslucenceLevel, &H3

TransRegion Err.LastDllError 0
End Function
Messages postés
561
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010

Le processeur n'est utilisé qu'à 100% que lorsque la form est visible à l'écran
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
salut,

t'as mis des côtes partout.....

quel est ton vrai code?!

SetLayeredWindowAttributes bouffe pas mal, mais uniquement à la création (appel) puis au déplacement.

une fois l'alpha appliqué, il n'y a plus d'appel, donc même consommation que par défaut.



tu n'aurais pas mis un Timer?

oh, et pour le

' sub form_mousedown(...)

' ReleaseCapture

' SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&

' endsub



c'est à appliquer au MouseMove avec un test, et inversé :


Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 1 Then

Call SendMessage(Me.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)

Call ReleaseCapture

End If

End Sub





<small> Coloration
syntaxique automatique [AFCK]</small>



PCPT [AFCK]
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
Oui quel est ton vrai code stp ?
Car j'ai testé et l'appli ne consomme rien une fois setlayeredwindowattributes appelé
Messages postés
561
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010

ben en fet, j'utilise ce code dans une application qui possede des controles. Mais je vous ai donné tous le code source. C'est un module. Je chage le transparence au formload de ma feuille principale.