SnkVrt
Messages postés89Date d'inscriptionvendredi 16 mars 2007StatutMembreDernière intervention23 février 2010 19 nov. 2009 à 10:03
Ok, là j'ai compris. :)
Merci Renfield pour tes explications
(et ta patience) ;)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 19 nov. 2009 à 09:57
en gros, chaque GetDC va demander un nouveu hDC à Windows.
sa reserve est grande, mais pas illimitée...
il te faut utiliser ReleaseDC pour indiquer a windows que le DC ne t'es plus utile
SnkVrt
Messages postés89Date d'inscriptionvendredi 16 mars 2007StatutMembreDernière intervention23 février 2010 19 nov. 2009 à 09:41
Pour mes variables, faut que je retourne jeter un coup d'oeil sur mon code.
Pour le Shift, ok c'est compris je retiendrais.
Mais pour la fuite mémoire...Je sais meme pas ce que ça veux dire "fuite mémoire" et "libérer le DC obtenu" :(
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 19 nov. 2009 à 08:58
c'est simple:
Dim Couleur1, Couleur2, SaveCouleur1, SaveCouleur2 As ColorConstants
ici, seule la dernière variable sera typée.
les autres seront des Variant
pour la fuite mémoire, c'est bête aussi. Tu fais un GetDC
il te faut libérer le DC obtenu
pour le Shift, on le teste ainsi :
If Shift = vbShiftMask then
....
End If
SnkVrt
Messages postés89Date d'inscriptionvendredi 16 mars 2007StatutMembreDernière intervention23 février 2010 19 nov. 2009 à 08:49
Alors là, rien que pour comprendre ce que tu me dis, ça va me prendre du temps...
Pour le SHIFT, j'avais bien remarqué que ça marche meme en appuyant sur Ctrl mais j'ai pas cherché à comprendre.
Faut dire que j'avais fait ce prog pour mon fils qui avait 3 ans et comme ça fonctionnait...;)
Mais bon, je veux progresser alors je vais me pencher sur tes remarques.
Merci Renfield.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 18 nov. 2009 à 23:12
rapidement......
fuite mémoire...
GetDC doit etre accompagné d'un ReleaseDC
Dim Couleur1, Couleur2, SaveCouleur1, SaveCouleur2 As ColorConstants
ici, Couleur1, Couleur2, SaveCouleur1 sont des Variant
seul SaveCouleur2 est un ColorConstants
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Tracé = True
If Shift = 0 Then ' \On ne garde pas le point central Si l'utilisateur n'appuie pas sur SHIFT
en l'occurrence c'est faux... la variable Shift indique l'etat de la touche Shift, Ctrl et Alt
SnkVrt
Messages postés89Date d'inscriptionvendredi 16 mars 2007StatutMembreDernière intervention23 février 2010 18 nov. 2009 à 15:45
Bon ben je viens de trouver la solution à mon problème de tracé continu grace au programme de dessin de Jotrash.
Il faut utiliser la fonction line...
Objet.Line -(x,y)
Et non la fonction Pset
19 nov. 2009 à 10:03
Merci Renfield pour tes explications
(et ta patience) ;)
19 nov. 2009 à 09:57
sa reserve est grande, mais pas illimitée...
il te faut utiliser ReleaseDC pour indiquer a windows que le DC ne t'es plus utile
19 nov. 2009 à 09:41
Pour le Shift, ok c'est compris je retiendrais.
Mais pour la fuite mémoire...Je sais meme pas ce que ça veux dire "fuite mémoire" et "libérer le DC obtenu" :(
19 nov. 2009 à 08:58
Dim Couleur1, Couleur2, SaveCouleur1, SaveCouleur2 As ColorConstants
ici, seule la dernière variable sera typée.
les autres seront des Variant
pour la fuite mémoire, c'est bête aussi. Tu fais un GetDC
il te faut libérer le DC obtenu
pour le Shift, on le teste ainsi :
If Shift = vbShiftMask then
....
End If
19 nov. 2009 à 08:49
Pour le SHIFT, j'avais bien remarqué que ça marche meme en appuyant sur Ctrl mais j'ai pas cherché à comprendre.
Faut dire que j'avais fait ce prog pour mon fils qui avait 3 ans et comme ça fonctionnait...;)
Mais bon, je veux progresser alors je vais me pencher sur tes remarques.
Merci Renfield.
18 nov. 2009 à 23:12
fuite mémoire...
GetDC doit etre accompagné d'un ReleaseDC
Dim Couleur1, Couleur2, SaveCouleur1, SaveCouleur2 As ColorConstants
ici, Couleur1, Couleur2, SaveCouleur1 sont des Variant
seul SaveCouleur2 est un ColorConstants
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Tracé = True
If Shift = 0 Then ' \On ne garde pas le point central Si l'utilisateur n'appuie pas sur SHIFT
en l'occurrence c'est faux... la variable Shift indique l'etat de la touche Shift, Ctrl et Alt
18 nov. 2009 à 15:45
Il faut utiliser la fonction line...
Objet.Line -(x,y)
Et non la fonction Pset
Merci Jotrash