Transparence Proc 100%

cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010 - 9 févr. 2006 à 22:27
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010 - 10 févr. 2006 à 10:34
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

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
9 févr. 2006 à 22:43
'Lut,
Peux tu donner ton code pour que l'ont puisse voir
Merci
0
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
9 févr. 2006 à 22:56
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
0
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
9 févr. 2006 à 22:59
Le processeur n'est utilisé qu'à 100% que lorsque la form est visible à l'écran
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
9 févr. 2006 à 23:11
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]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
9 févr. 2006 à 23:17
Oui quel est ton vrai code stp ?
Car j'ai testé et l'appli ne consomme rien une fois setlayeredwindowattributes appelé
0
cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
10 févr. 2006 à 10:34
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.
0