ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 2007
-
28 avril 2005 à 21:54
jx53
Messages postés98Date d'inscriptionlundi 17 novembre 2008StatutMembreDernière intervention 4 septembre 2012
-
1 févr. 2009 à 23:41
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
jx53
Messages postés98Date d'inscriptionlundi 17 novembre 2008StatutMembreDernière intervention 4 septembre 2012 1 févr. 2009 à 23:41
bon bin moi si vous vouliez bien maider sa serais génial, vous voulez bien??
si oui, jai les erreurs suivantes et jaimerais avoir de laide pour les régler.
Private Declare Function GetCursorPos Lib "user32" (ByVal lpPoint As coord) As Long: type 'coord' non défini
Dim sour As coord : type 'coord' non défini
l = StretchBlt(Zoom.hdc, 0, 0, Zoom.Width, Zoom.Height, _ : le nom 'l' nest pas déclaré hdc nest pas un membre de 'picturebox'
merci davance a seu et celle qui maideront !
ps:je travail en vb 2008 express edition
a+ et bonne prog a tous!
Cacophrene
Messages postés251Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention 4 mars 20081 29 juil. 2005 à 12:57
Salut à toi !
Je viens de parcourir ton code. Je voudrais attirer ton attention sur le fait qu'on peut raisonnablement espérer que le zoom avant soit borné, comme le zoom arrière. Or tu écris :
'Zoom avant
Private Sub Command5_Click()
n = 1
If Form1.Tag < 0 Then n = 0
Form1.Tag = Form1.Tag + n
End Sub
'Zoom arrière
Private Sub Command6_Click()
n = 1
If Form1.Tag < 2 Then n = 0
Form1.Tag = Form1.Tag - n
End Sub
Form1.Tag ne peut pas valoir strictement moins que 1, donc Form1.Tag < 0 est toujours faux, donc le résultat n 0 de "If Form1.Tag < 0 Then n 0" n'intervient jamais, et donc le zoom avant se prolonge indéfiniment. Je te propose donc :
'Zoom avant
Sub cmdAugmenter_Click()
frmPrincipale.Tag = frmPrincipale.Tag + IIf(frmPrincipale.Tag > 5, 0, 1)
End Sub
'Zoom arrière
Sub cmdRéduire_Click()
frmPrincipale.Tag = frmPrincipale.Tag - IIf(frmPrincipale.Tag < 2, 0, 1)
End Sub
Tu auras ainsi un zoom borné. Bonne source par ailleurs, quoique l'on puisse regretter que les trois APIs (SetWindowPos, GetCursorPos et StretchBlt) soient peu détaillées, puisque la source s'adresse à des "débutants quelque peu sortis du noviciat" ;-)
Cordialement,
Cacophrène.
PS : J'ai mis 7.
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 28 avril 2005 à 21:54
c'est du déjà vu et revu et rerevu tu ne trouves pas !?!?
La loupe est aussi récurrente que la calculatrice...
Si seulement la roue que vous réinventiez était carrée, ce serait au moins fun!!!
Bon, ceci dit, bon code
Continu sur cette voie, mais essai de ne pas refaire ce qui a déjà été fait!
De plus je ne crois pas que ce soit du niveau débutant rien que par le fait de l'utilisation d'API. Intermédiaire serait peut-être mieux adapté tu ne crois pas!?
1 févr. 2009 à 23:41
si oui, jai les erreurs suivantes et jaimerais avoir de laide pour les régler.
Private Declare Function GetCursorPos Lib "user32" (ByVal lpPoint As coord) As Long: type 'coord' non défini
Dim sour As coord : type 'coord' non défini
l = StretchBlt(Zoom.hdc, 0, 0, Zoom.Width, Zoom.Height, _ : le nom 'l' nest pas déclaré hdc nest pas un membre de 'picturebox'
merci davance a seu et celle qui maideront !
ps:je travail en vb 2008 express edition
a+ et bonne prog a tous!
29 juil. 2005 à 12:57
Je viens de parcourir ton code. Je voudrais attirer ton attention sur le fait qu'on peut raisonnablement espérer que le zoom avant soit borné, comme le zoom arrière. Or tu écris :
'Zoom avant
Private Sub Command5_Click()
n = 1
If Form1.Tag < 0 Then n = 0
Form1.Tag = Form1.Tag + n
End Sub
'Zoom arrière
Private Sub Command6_Click()
n = 1
If Form1.Tag < 2 Then n = 0
Form1.Tag = Form1.Tag - n
End Sub
Form1.Tag ne peut pas valoir strictement moins que 1, donc Form1.Tag < 0 est toujours faux, donc le résultat n 0 de "If Form1.Tag < 0 Then n 0" n'intervient jamais, et donc le zoom avant se prolonge indéfiniment. Je te propose donc :
'Zoom avant
Sub cmdAugmenter_Click()
frmPrincipale.Tag = frmPrincipale.Tag + IIf(frmPrincipale.Tag > 5, 0, 1)
End Sub
'Zoom arrière
Sub cmdRéduire_Click()
frmPrincipale.Tag = frmPrincipale.Tag - IIf(frmPrincipale.Tag < 2, 0, 1)
End Sub
Tu auras ainsi un zoom borné. Bonne source par ailleurs, quoique l'on puisse regretter que les trois APIs (SetWindowPos, GetCursorPos et StretchBlt) soient peu détaillées, puisque la source s'adresse à des "débutants quelque peu sortis du noviciat" ;-)
Cordialement,
Cacophrène.
PS : J'ai mis 7.
28 avril 2005 à 21:54
La loupe est aussi récurrente que la calculatrice...
Si seulement la roue que vous réinventiez était carrée, ce serait au moins fun!!!
Bon, ceci dit, bon code
Continu sur cette voie, mais essai de ne pas refaire ce qui a déjà été fait!
De plus je ne crois pas que ce soit du niveau débutant rien que par le fait de l'utilisation d'API. Intermédiaire serait peut-être mieux adapté tu ne crois pas!?
Bonne prog