ZOOM SUR CURSEUR

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 - 28 avril 2005 à 21:54
jx53 Messages postés 98 Date d'inscription lundi 17 novembre 2008 Statut Membre Derniè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.

https://codes-sources.commentcamarche.net/source/31057-zoom-sur-curseur

jx53 Messages postés 98 Date d'inscription lundi 17 novembre 2008 Statut Membre Derniè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és 251 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 4 mars 2008 1
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és 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
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!?

Bonne prog
Rejoignez-nous