cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
9 mai 2004 à 07:35
cs_Tas
Messages postés7Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention14 septembre 2007
-
14 sept. 2007 à 08:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Tas
Messages postés7Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention14 septembre 2007 14 sept. 2007 à 08:34
Salut !
Génial tout ça. Comment faire pour récupérer l'icone de l'appli dans la barre Windows car une fois la forme découpée il n'y a plus de nom d'appli !
Merci à tous.
-- Tas --
rylryl
Messages postés311Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention15 décembre 20061 10 mai 2004 à 20:45
ymerej, pour une découpe simple garde
"Private Sub Form_Load"
et
"Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)" pour deplacement !!
voili et merci ..
ryl....
cs_ymerej
Messages postés165Date d'inscriptionvendredi 9 avril 2004StatutMembreDernière intervention 5 octobre 2007 10 mai 2004 à 16:11
ok Darksidious je vé faire avec !
cs_ymerej
Messages postés165Date d'inscriptionvendredi 9 avril 2004StatutMembreDernière intervention 5 octobre 2007 10 mai 2004 à 15:20
Pas mal la methode pr deplacer la fenetre !!!
Avant j'utilisais une methode artisanale et ca ramé !
Maintenant c nickel !
Désolé pr le double post d'avant !
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 mai 2004 à 15:18
ymerej : va voir ma source nommée Découpage De feuille rapide : il y a une fonction de découpage plus rapide que celle utilisée dans cette source.
DarK Sidious
cs_ymerej
Messages postés165Date d'inscriptionvendredi 9 avril 2004StatutMembreDernière intervention 5 octobre 2007 10 mai 2004 à 15:14
Pourré t'on me donner le code exact qui permet de decouper automatiquement une image dans une fenetre svp ca seré cool !
Rien que çà pas d'animation rien, juste pr decouper une image au moment ou on créer la fenetre afin qu'elle prenne la forme de l'image.
@+ Merci d'avance
Sinon rylryl bravo pr ta source c un super boulot le resultat est super !
cs_ymerej
Messages postés165Date d'inscriptionvendredi 9 avril 2004StatutMembreDernière intervention 5 octobre 2007 10 mai 2004 à 15:14
Pourré t'on me donner le code exact qui permet de decouper automatiquement une image dans une fenetre svp ca seré cool !
Rien que çà pas d'animation rien, juste pr decouper une image au moment ou on créer la fenetre afin qu'elle prenne la forme de l'image.
@+ Merci d'avance
Sinon rylryl bravo pr ta source c un super boulot le resultat est super !
linkinpar236737
Messages postés161Date d'inscriptionjeudi 20 mars 2003StatutMembreDernière intervention 7 mai 2007 10 mai 2004 à 07:19
Pas mal du tout, très joli.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 mai 2004 à 07:12
The Hacker : dans ma source, je découpe selon un texte, mais elle s'applique aussi rapidement sur une image. J'ai pris du texte pour m'éviter de grossir le zip avec une image ! Ta deuxième méthode est très bien aussi mais elle est limitée à Windows 2000/XP où l'API SetLayeredWindowAttributes est définie, et elle est donc incompatibles avec les autres versions de Windows, ce qui la rend beaucoup moins pratique pour un programme qui doit être déployé par exemple.
DarK Sidious
cs_TheHacker
Messages postés442Date d'inscriptionsamedi 23 novembre 2002StatutMembreDernière intervention19 octobre 2005 9 mai 2004 à 23:13
oui oui j'ai regardé, j'sais que cette source decoupe une image mais j'ai vu dans ton exmeple qu'elle faisait un texte "SALUT" sinon c une variante ca peut etre utile.
sinon j'ai encore une autre méthode qui consiste a utiliser les APIs de transparence d'un form, ya un parametres qui permet d'enlever une couleur du form, i lsuffit donc de mettre l'image sur un fond vert par exemple et d'utilise rl'API pour enelver le vert du form, c tres rapide et efficace. voici le boup de code:
***********MODULE*********************
Public Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function SetLayeredWindowAttributes Lib "User32" (ByVal hWnd As Long, ByVal crey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Public Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Public Const GWL_EXSTYLE = (-20)
Public Const WS_EX_LAYERED = &H80000
Public Const WS_EX_TRANSPARENT = &H20&
Public Const LWA_ALPHA = &H2&
***********MODULE*********************
'********************FORM
Dim lOldStyle As Long
Dim crk As Long
crk = GetPixel(Me.hdc, 0, 0)
Dim bTrans As Byte ' The level of transparency (0 - 255)
lOldStyle = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
'cet API determine si on peut clicker sur la form ou non....
SetWindowLong Me.hWnd, GWL_EXSTYLE, lOldStyle Or WS_EX_LAYERED
'SetWindowLong Me.hwnd, GWL_EXSTYLE, lOldStyle Or WS_EX_LAYERED Or WS_EX_TRANSPARENT
SetLayeredWindowAttributes Me.hWnd, crk, 255, &H3
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 9 mai 2004 à 16:26
TheHacker : as-tu regarder la source ? Car il ne découpe pas du texte mais une image ! ;-)
Sinon, tu as raison, ta méthode est très bien pour découper du texte !
DarK Sidious
cs_TheHacker
Messages postés442Date d'inscriptionsamedi 23 novembre 2002StatutMembreDernière intervention19 octobre 2005 9 mai 2004 à 14:03
voici une autre facon de découper un texte...
Private Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function PathToRegion Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Sub Form_Load()
Dim hRgn As Long
Me.FontName = "Times New Roman"
Me.FontSize = 72
Me.BackColor = vbRed
BeginPath Me.hdc
Me.Print "SALUT !"
EndPath Me.hdc
hRgn = PathToRegion(Me.hdc)
SetWindowRgn Me.hWnd, hRgn, True
DeleteObject hRgn
End Sub
rylryl
Messages postés311Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention15 décembre 20061 9 mai 2004 à 14:02
Merci Mr DARKSIDIOUS ,vais voir ça et aprés avoir fini un autre projet en cours ferais sans doute une MAJ,encore merci pour tes conseils...
ryl...
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 9 mai 2004 à 07:35
Même si la découpe de la feuille ne prend pas trop de temps, tu aurais pu faire encore bien plus rapide en utilisant ls fonction GetDIBIts plutôt que la fonction GetPixel ! Voir ma source nommée D&coupage de feuille rapide pour t'en convaincre ;-)
Sinon, c'est pas mal, c'est sympa et original comme anim ;-)
14 sept. 2007 à 08:34
Génial tout ça. Comment faire pour récupérer l'icone de l'appli dans la barre Windows car une fois la forme découpée il n'y a plus de nom d'appli !
Merci à tous.
-- Tas --
10 mai 2004 à 20:45
"Private Sub Form_Load"
et
"Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)" pour deplacement !!
voili et merci ..
ryl....
10 mai 2004 à 16:11
10 mai 2004 à 15:20
Avant j'utilisais une methode artisanale et ca ramé !
Maintenant c nickel !
Désolé pr le double post d'avant !
10 mai 2004 à 15:18
DarK Sidious
10 mai 2004 à 15:14
Rien que çà pas d'animation rien, juste pr decouper une image au moment ou on créer la fenetre afin qu'elle prenne la forme de l'image.
@+ Merci d'avance
Sinon rylryl bravo pr ta source c un super boulot le resultat est super !
10 mai 2004 à 15:14
Rien que çà pas d'animation rien, juste pr decouper une image au moment ou on créer la fenetre afin qu'elle prenne la forme de l'image.
@+ Merci d'avance
Sinon rylryl bravo pr ta source c un super boulot le resultat est super !
10 mai 2004 à 07:19
10 mai 2004 à 07:12
DarK Sidious
9 mai 2004 à 23:13
sinon j'ai encore une autre méthode qui consiste a utiliser les APIs de transparence d'un form, ya un parametres qui permet d'enlever une couleur du form, i lsuffit donc de mettre l'image sur un fond vert par exemple et d'utilise rl'API pour enelver le vert du form, c tres rapide et efficace. voici le boup de code:
***********MODULE*********************
Public Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function SetLayeredWindowAttributes Lib "User32" (ByVal hWnd As Long, ByVal crey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Public Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Public Const GWL_EXSTYLE = (-20)
Public Const WS_EX_LAYERED = &H80000
Public Const WS_EX_TRANSPARENT = &H20&
Public Const LWA_ALPHA = &H2&
***********MODULE*********************
'********************FORM
Dim lOldStyle As Long
Dim crk As Long
crk = GetPixel(Me.hdc, 0, 0)
Dim bTrans As Byte ' The level of transparency (0 - 255)
lOldStyle = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
'cet API determine si on peut clicker sur la form ou non....
SetWindowLong Me.hWnd, GWL_EXSTYLE, lOldStyle Or WS_EX_LAYERED
'SetWindowLong Me.hwnd, GWL_EXSTYLE, lOldStyle Or WS_EX_LAYERED Or WS_EX_TRANSPARENT
SetLayeredWindowAttributes Me.hWnd, crk, 255, &H3
9 mai 2004 à 16:26
Sinon, tu as raison, ta méthode est très bien pour découper du texte !
DarK Sidious
9 mai 2004 à 14:03
Private Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function PathToRegion Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Sub Form_Load()
Dim hRgn As Long
Me.FontName = "Times New Roman"
Me.FontSize = 72
Me.BackColor = vbRed
BeginPath Me.hdc
Me.Print "SALUT !"
EndPath Me.hdc
hRgn = PathToRegion(Me.hdc)
SetWindowRgn Me.hWnd, hRgn, True
DeleteObject hRgn
End Sub
9 mai 2004 à 14:02
ryl...
9 mai 2004 à 07:35
Sinon, c'est pas mal, c'est sympa et original comme anim ;-)
8/10
DarK Sidious