comment peut on remplir d'une couleur le rectangle délimiter par ces
instruction??
existe t'il une solution?? je travaille sur une picture box qui s'apelle
"plot"
Form5.Plot.Line (X1Pos, Yaxenul)-(X1Pos, Y1Pos), RGB(255, 0, 0)
Form5.Plot.Line (X1Pos, Y1Pos)-(X2Pos, Y1Pos), RGB(255, 0, 0)
Form5.Plot.Line (X2Pos, Y1Pos)-(X2Pos, Yaxenul), RGB(255, 0, 0)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut Michael ! :O)
comment peut on remplir d'une couleur le rectangle délimiter par ces instruction?? existe t'il une solution?? je travaille sur une picture box qui s'apelle "plot" Form5.Plot.Line (X1Pos, Yaxenul)-(X1Pos, Y1Pos), RGB(255, 0, 0) Form5.Plot.Line (X1Pos, Y1Pos)-(X2Pos, Y1Pos), RGB(255, 0, 0) Form5.Plot.Line (X2Pos, Y1Pos)-(X2Pos, Yaxenul), RGB(255, 0, 0)
Ton rectangle n'a que trois lignes ? ;O)
Pour créer un rectangle/carré en VB pure on ferait comme ceci : '*** ' Form1 ' 1 PictureBox ' 1 CommandButton Option Explicit
Private Sub Command1_Click() ' indique que les coordonnées sont en pixels Picture1.ScaleMode = vbPixels ' dessine un rectangle rouge rempli entre les deux points Picture1.Line (10, 10)-(60, 60), RGB(255, 0, 0), BF End Sub '***
l'instruction BF à la fin de la ligne à la signification suivante : - B désigne qu'un rectangle sera dessiner utilisant les deux points précisés comme points opposés dans la forme. - F désigne que le système doit remplir le rectangle créée.
Cependant, si tu souhaites dessiner plusieurs rectangles cette méthode pourrait s'avérer lente et couteuse en ressource. Dans ce cas tu devrais employer les APIs comme ceci : '*** Option Explicit
Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type
Private Declare Function SetRect _ Lib "user32" ( _ ByRef lpRect As RECT, _ ByVal X1 As Long, _ ByVal Y1 As Long, _ ByVal X2 As Long, _ ByVal Y2 As Long) As Long
Private Declare Function CreateSolidBrush _ Lib "gdi32" ( _ ByVal crColor As Long) As Long
Private Declare Function SelectObject _ Lib "gdi32" ( _ ByVal hdc As Long, _ ByVal hObject As Long) As Long
Private Declare Function FillRect _ Lib "user32" ( _ ByVal hdc As Long, _ ByRef lpRect As RECT, _ ByVal hBrush As Long) As Long
Private Declare Function DeleteObject _ Lib "gdi32" ( _ ByVal hObject As Long) As Long
Private Sub Command1_Click()
Dim rc As RECT Dim hBrush As Long Dim hOldBrush As Long
' on détermine le taille et l'emplacement ' rectangle ' note : La méthode FillRect n'inclus ' pas le côté droit et le bas lors du ' remplissage. GDI rempli le rectangle jusqu'aux ' côtés droit et bas sans les inclure, c'est ' pourquoi nous devons ajouter 1 aux coordonnées ' du deuxième point Call SetRect(rc, 10, 10, 61, 61)
' on créer et sélectionne notre pinceau hBrush = CreateSolidBrush(vbRed) hOldBrush = SelectObject(Picture1.hdc, hBrush)
' on dessine le rectangle Call FillRect(Picture1.hdc, rc, hBrush)
' on libère nos ressources Call SelectObject(Picture1.hdc, hOldBrush) Call DeleteObject(hBrush)
End Sub
Private Sub Form_Load() Picture1.ScaleMode = vbPixels End Sub '***
-- Cordialement Yanick MVP pour Visual Basic
Salut Michael ! :O)
comment peut on remplir d'une couleur le rectangle délimiter par ces
instruction??
existe t'il une solution?? je travaille sur une picture box qui s'apelle
"plot"
Form5.Plot.Line (X1Pos, Yaxenul)-(X1Pos, Y1Pos), RGB(255, 0, 0)
Form5.Plot.Line (X1Pos, Y1Pos)-(X2Pos, Y1Pos), RGB(255, 0, 0)
Form5.Plot.Line (X2Pos, Y1Pos)-(X2Pos, Yaxenul), RGB(255, 0, 0)
Ton rectangle n'a que trois lignes ? ;O)
Pour créer un rectangle/carré en VB pure on ferait comme ceci :
'***
' Form1
' 1 PictureBox
' 1 CommandButton
Option Explicit
Private Sub Command1_Click()
' indique que les coordonnées sont en pixels
Picture1.ScaleMode = vbPixels
' dessine un rectangle rouge rempli entre les deux points
Picture1.Line (10, 10)-(60, 60), RGB(255, 0, 0), BF
End Sub
'***
l'instruction BF à la fin de la ligne à la signification suivante :
- B désigne qu'un rectangle sera dessiner utilisant les deux points précisés
comme points opposés dans la forme.
- F désigne que le système doit remplir le rectangle créée.
Cependant, si tu souhaites dessiner plusieurs rectangles cette méthode
pourrait s'avérer lente et couteuse en ressource.
Dans ce cas tu devrais employer les APIs comme ceci :
'***
Option Explicit
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function SetRect _
Lib "user32" ( _
ByRef lpRect As RECT, _
ByVal X1 As Long, _
ByVal Y1 As Long, _
ByVal X2 As Long, _
ByVal Y2 As Long) As Long
Private Declare Function CreateSolidBrush _
Lib "gdi32" ( _
ByVal crColor As Long) As Long
Private Declare Function SelectObject _
Lib "gdi32" ( _
ByVal hdc As Long, _
ByVal hObject As Long) As Long
Private Declare Function FillRect _
Lib "user32" ( _
ByVal hdc As Long, _
ByRef lpRect As RECT, _
ByVal hBrush As Long) As Long
Private Declare Function DeleteObject _
Lib "gdi32" ( _
ByVal hObject As Long) As Long
Private Sub Command1_Click()
Dim rc As RECT
Dim hBrush As Long
Dim hOldBrush As Long
' on détermine le taille et l'emplacement
' rectangle
' note : La méthode FillRect n'inclus
' pas le côté droit et le bas lors du
' remplissage. GDI rempli le rectangle jusqu'aux
' côtés droit et bas sans les inclure, c'est
' pourquoi nous devons ajouter 1 aux coordonnées
' du deuxième point
Call SetRect(rc, 10, 10, 61, 61)
' on créer et sélectionne notre pinceau
hBrush = CreateSolidBrush(vbRed)
hOldBrush = SelectObject(Picture1.hdc, hBrush)
' on dessine le rectangle
Call FillRect(Picture1.hdc, rc, hBrush)
' on libère nos ressources
Call SelectObject(Picture1.hdc, hOldBrush)
Call DeleteObject(hBrush)
End Sub
Private Sub Form_Load()
Picture1.ScaleMode = vbPixels
End Sub
'***
comment peut on remplir d'une couleur le rectangle délimiter par ces instruction?? existe t'il une solution?? je travaille sur une picture box qui s'apelle "plot" Form5.Plot.Line (X1Pos, Yaxenul)-(X1Pos, Y1Pos), RGB(255, 0, 0) Form5.Plot.Line (X1Pos, Y1Pos)-(X2Pos, Y1Pos), RGB(255, 0, 0) Form5.Plot.Line (X2Pos, Y1Pos)-(X2Pos, Yaxenul), RGB(255, 0, 0)
Ton rectangle n'a que trois lignes ? ;O)
Pour créer un rectangle/carré en VB pure on ferait comme ceci : '*** ' Form1 ' 1 PictureBox ' 1 CommandButton Option Explicit
Private Sub Command1_Click() ' indique que les coordonnées sont en pixels Picture1.ScaleMode = vbPixels ' dessine un rectangle rouge rempli entre les deux points Picture1.Line (10, 10)-(60, 60), RGB(255, 0, 0), BF End Sub '***
l'instruction BF à la fin de la ligne à la signification suivante : - B désigne qu'un rectangle sera dessiner utilisant les deux points précisés comme points opposés dans la forme. - F désigne que le système doit remplir le rectangle créée.
Cependant, si tu souhaites dessiner plusieurs rectangles cette méthode pourrait s'avérer lente et couteuse en ressource. Dans ce cas tu devrais employer les APIs comme ceci : '*** Option Explicit
Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type
Private Declare Function SetRect _ Lib "user32" ( _ ByRef lpRect As RECT, _ ByVal X1 As Long, _ ByVal Y1 As Long, _ ByVal X2 As Long, _ ByVal Y2 As Long) As Long
Private Declare Function CreateSolidBrush _ Lib "gdi32" ( _ ByVal crColor As Long) As Long
Private Declare Function SelectObject _ Lib "gdi32" ( _ ByVal hdc As Long, _ ByVal hObject As Long) As Long
Private Declare Function FillRect _ Lib "user32" ( _ ByVal hdc As Long, _ ByRef lpRect As RECT, _ ByVal hBrush As Long) As Long
Private Declare Function DeleteObject _ Lib "gdi32" ( _ ByVal hObject As Long) As Long
Private Sub Command1_Click()
Dim rc As RECT Dim hBrush As Long Dim hOldBrush As Long
' on détermine le taille et l'emplacement ' rectangle ' note : La méthode FillRect n'inclus ' pas le côté droit et le bas lors du ' remplissage. GDI rempli le rectangle jusqu'aux ' côtés droit et bas sans les inclure, c'est ' pourquoi nous devons ajouter 1 aux coordonnées ' du deuxième point Call SetRect(rc, 10, 10, 61, 61)
' on créer et sélectionne notre pinceau hBrush = CreateSolidBrush(vbRed) hOldBrush = SelectObject(Picture1.hdc, hBrush)
' on dessine le rectangle Call FillRect(Picture1.hdc, rc, hBrush)
' on libère nos ressources Call SelectObject(Picture1.hdc, hOldBrush) Call DeleteObject(hBrush)
End Sub
Private Sub Form_Load() Picture1.ScaleMode = vbPixels End Sub '***
-- Cordialement Yanick MVP pour Visual Basic
Jean-Marc
"michael" a écrit dans le message de news:
Bonjour,
comment peut on remplir d'une couleur le rectangle délimiter par ces instruction?? existe t'il une solution?? je travaille sur une picture box qui s'apelle "plot" Form5.Plot.Line (X1Pos, Yaxenul)-(X1Pos, Y1Pos), RGB(255, 0, 0) Form5.Plot.Line (X1Pos, Y1Pos)-(X2Pos, Y1Pos), RGB(255, 0, 0) Form5.Plot.Line (X2Pos, Y1Pos)-(X2Pos, Yaxenul), RGB(255, 0, 0)
merci d'avance
Hello,
tu peux utiliser ExtFloodFill.
Voici le prototype: Declare Function ExtFloodFill Lib "gdi32" Alias "ExtFloodFill" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long, ByVal wFillType As Long) As Long
Et les explications corerspondantes (MSDN) http://msdn.microsoft.com/library/en-us/gdi/bitmaps_7yb0.asp
Enfin, le toujours excellent API list fourni des explications et un exemple: http://www.mentalis.org/apilist/ExtFloodFill.shtml
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
"michael" <michael@discussions.microsoft.com> a écrit dans le message de
news:039B6ADD-E543-4B06-990C-10A731CAF5F5@microsoft.com...
Bonjour,
comment peut on remplir d'une couleur le rectangle délimiter par ces
instruction??
existe t'il une solution?? je travaille sur une picture box qui s'apelle
"plot"
Form5.Plot.Line (X1Pos, Yaxenul)-(X1Pos, Y1Pos), RGB(255, 0, 0)
Form5.Plot.Line (X1Pos, Y1Pos)-(X2Pos, Y1Pos), RGB(255, 0, 0)
Form5.Plot.Line (X2Pos, Y1Pos)-(X2Pos, Yaxenul), RGB(255, 0, 0)
merci d'avance
Hello,
tu peux utiliser ExtFloodFill.
Voici le prototype:
Declare Function ExtFloodFill Lib "gdi32" Alias "ExtFloodFill" (ByVal hdc As
Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long, ByVal
wFillType As Long) As Long
Et les explications corerspondantes (MSDN)
http://msdn.microsoft.com/library/en-us/gdi/bitmaps_7yb0.asp
Enfin, le toujours excellent API list fourni des explications et un exemple:
http://www.mentalis.org/apilist/ExtFloodFill.shtml
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
comment peut on remplir d'une couleur le rectangle délimiter par ces instruction?? existe t'il une solution?? je travaille sur une picture box qui s'apelle "plot" Form5.Plot.Line (X1Pos, Yaxenul)-(X1Pos, Y1Pos), RGB(255, 0, 0) Form5.Plot.Line (X1Pos, Y1Pos)-(X2Pos, Y1Pos), RGB(255, 0, 0) Form5.Plot.Line (X2Pos, Y1Pos)-(X2Pos, Yaxenul), RGB(255, 0, 0)
merci d'avance
Hello,
tu peux utiliser ExtFloodFill.
Voici le prototype: Declare Function ExtFloodFill Lib "gdi32" Alias "ExtFloodFill" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long, ByVal wFillType As Long) As Long
Et les explications corerspondantes (MSDN) http://msdn.microsoft.com/library/en-us/gdi/bitmaps_7yb0.asp
Enfin, le toujours excellent API list fourni des explications et un exemple: http://www.mentalis.org/apilist/ExtFloodFill.shtml
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
michael
Merci pour vos réponse c'est ce que je cherchais, super pratique ce newsgroup ;-)
"michael" a écrit :
Bonjour,
comment peut on remplir d'une couleur le rectangle délimiter par ces instruction?? existe t'il une solution?? je travaille sur une picture box qui s'apelle "plot" Form5.Plot.Line (X1Pos, Yaxenul)-(X1Pos, Y1Pos), RGB(255, 0, 0) Form5.Plot.Line (X1Pos, Y1Pos)-(X2Pos, Y1Pos), RGB(255, 0, 0) Form5.Plot.Line (X2Pos, Y1Pos)-(X2Pos, Yaxenul), RGB(255, 0, 0)
merci d'avance
Merci pour vos réponse c'est ce que je cherchais, super pratique ce newsgroup
;-)
"michael" a écrit :
Bonjour,
comment peut on remplir d'une couleur le rectangle délimiter par ces
instruction??
existe t'il une solution?? je travaille sur une picture box qui s'apelle
"plot"
Form5.Plot.Line (X1Pos, Yaxenul)-(X1Pos, Y1Pos), RGB(255, 0, 0)
Form5.Plot.Line (X1Pos, Y1Pos)-(X2Pos, Y1Pos), RGB(255, 0, 0)
Form5.Plot.Line (X2Pos, Y1Pos)-(X2Pos, Yaxenul), RGB(255, 0, 0)
Merci pour vos réponse c'est ce que je cherchais, super pratique ce newsgroup ;-)
"michael" a écrit :
Bonjour,
comment peut on remplir d'une couleur le rectangle délimiter par ces instruction?? existe t'il une solution?? je travaille sur une picture box qui s'apelle "plot" Form5.Plot.Line (X1Pos, Yaxenul)-(X1Pos, Y1Pos), RGB(255, 0, 0) Form5.Plot.Line (X1Pos, Y1Pos)-(X2Pos, Y1Pos), RGB(255, 0, 0) Form5.Plot.Line (X2Pos, Y1Pos)-(X2Pos, Yaxenul), RGB(255, 0, 0)