TAILLER VOTRE FORM À L'AIDE D'UNE IMAGE !!

Signaler
Messages postés
269
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
19 février 2015
-
Messages postés
92
Date d'inscription
dimanche 14 juillet 2002
Statut
Membre
Dernière intervention
2 octobre 2006
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/5221-tailler-votre-form-a-l-aide-d-une-image

Messages postés
92
Date d'inscription
dimanche 14 juillet 2002
Statut
Membre
Dernière intervention
2 octobre 2006

je viens de trouver comment faire
j'ai ajouter en debut du traçage du cadriage:
Form1.Scale
et pour redessiner un zone blanche
Form1.Picture1.Line (0, 0)-(4000, 4000), vbWhite, BF

donc avec ces deux lignes, on peut redessiner sans relancer!
Messages postés
92
Date d'inscription
dimanche 14 juillet 2002
Statut
Membre
Dernière intervention
2 octobre 2006

une fois la form decoupé et rendu transparent, est il possible, sans arreter et relancer le programme de rendre la form a nouveau totalement opaque afin de la redecouper suivant une autre image?
car en partant de cette source, j'ai fais un calendrier
voir http://www.vbfrance.com/code.aspx?ID=28760
ce que je desire faire, c'est pouvoir redessiner le calendrier a volonté sans etre obliger d'arreter le prog! ceci afin de pouvoir faire une animation du calendar!
je pense que se doit etre une petite ligne de rien du tout qui permettrai de reinitialiser la form, mais je ne sais pas la quelle!
j'ai essayé form1.refresh mais ca marche pas!
merci pour ta source, elle est geniale!
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
22
Note, j'ai réalisé un contrôle (OCX) pour faire de la transparence : ScreenShoots...
Messages postés
47
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 septembre 2003

Moi aussi j'avais eu le prob de la dernière rangée c'est pourquoi j'avais modifié la fonction, je la mets dès fois que ca interesse qqun :

Public Function MakeRegion(picSkin As PictureBox) As Long
Dim X As Long, Y As Long, StartLineX As Long
Dim FullRegion As Long, LineRegion As Long
Dim TransparentColor As Long
Dim InFirstRegion As Boolean
Dim InLine As Boolean
Dim hDC As Long
Dim PicWidth As Long
Dim PicHeight As Long
TransparentColor = vbWhite 'couleur de transparence
picSkin.BackColor = TransparentColor
picSkin.Width = picSkin.Width + 15
picSkin.Line (picSkin.ScaleWidth, 0)-(picSkin.ScaleWidth, picSkin.ScaleHeight), picSkin.BackColor
hDC = picSkin.hDC
PicWidth = picSkin.ScaleWidth
PicHeight = picSkin.ScaleHeight
InFirstRegion True: InLine False
X Y StartLineX = 0
For Y = 0 To PicHeight - 1
For X = 0 To PicWidth - 1
If GetPixel(hDC, X, Y) TransparentColor Or X PicWidth Then

If InLine Then
InLine = False
LineRegion = CreateRectRgn(StartLineX, Y, X, Y + 1)

If InFirstRegion Then
FullRegion = LineRegion
InFirstRegion = False
Else
CombineRgn FullRegion, FullRegion, LineRegion, RGN_OR

DeleteObject LineRegion
End If
End If
Else
If Not InLine Then
InLine = True
StartLineX = X
End If
End If
Next
Next
MakeRegion = FullRegion
End Function

en fait ma modif consiste à modifier l'img afin de rajouter une ligne à la fin (de la couleur 'transparente') , comme ca plus de prob !
Afficher les 24 commentaires