Publié par Freem le 12/06/2007
Déplace un cercle à l'aide de la souris. PROBLEME: si je fabrique un fond écran pour déplacer ce cercle, mon fond disparait au passage de ma souris, créant un chemin ou la direction que la souris a effectué
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
DECLARE SUB DetectionSouris () ' $INCLUDE: 'qb.bi' SCREEN 13 DIM SHARED inregs AS RegType, outregs AS RegType DetectionSouris '========================= initialisation souris inregs.ax = 0 '--- Pour faire aparraitre Souris.Ecrire 1. CALL INTERRUPT(&H33, inregs, outregs) inregs.ax = 4 '----- Positionnement du curseur en X. inregs.cx = 290'-- depart a la position 290/2=145. inregs.dx = 180'-- depart a la position 180/2= 90. CALL INTERRUPT(&H33, inregs, outregs) inregs.ax = 7 '----- Limite au deplacement de la souris inregs.cx = 0 '----- a partir de la position 0 en X inregs.dx = 592 '-- jusqu'a la position 592/2=296. CALL INTERRUPT(&H33, inregs, outregs) inregs.ax = 8 '--- Limite au d‚placement de la souris inregs.cx = 0 '---- a partir de la position 0 en Y inregs.dx = 362 '-- jusqu'a la position 362/2=181. CALL INTERRUPT(&H33, inregs, outregs) zzz = 146: zz2 = 90 ' Coordonnees de depart qui efface ' le Curseur/Souris. ' ---<Enregistrement du dessin Curseur/Souris>---* DIM Boule(500) CIRCLE (11, 9), 10, 1: PAINT (11, 9), 9, 1 GET (0, 0)-(23, 18), Boule CLS ' * debut du programme * DO XXX = INT(outregs.cx / 2) '-----Coordonnee en X du Curseur. YYY = INT(outregs.dx / 2) '-----Coordonnee en Y du Curseur. IF XXX <> zzz OR YYY <> zz2 THEN '- Condition: '- Si XXX est different de zzz '- ou YYY est different de zz2 PUT (zzz, zz2), Boule, XOR ' ---- Effacer le dernier ' emplacement du Curseur. PUT (XXX, YYY), Boule, PSET ' --- Afficher le Curseur a '- sa nouvelle position. zzz = XXX '-------------------------------------------------------------------------------- Enregistrer la derniere '- coordonnee en zzz. zz2 = YYY ' '-------------------------------------------------------------------------------- Enregistrer la derniere '- coordonnee en zz2. END IF LOCATE 14, 5: PRINT INT(outregs.cx / 2) '--- Position X. LOCATE 14, 30: PRINT INT(outregs.dx / 2) '- Position Y. inregs.ax = 3 '-------------------------------------------------------------------------------- Pour afficher X, Y et Boutons. CALL INTERRUPT(&H33, inregs, outregs) A$ = INKEY$ IF A$ = CHR$(27) THEN END '-------------------------------------------------------------------------------- Sortir du programme. LOOP END SUB DetectionSouris '========================= detection de la souris inregs.ax = 0 CALL INTERRUPT(&H33, inregs, outregs) IF outregs.ax = 0 THEN PRINT "Aucune souris detectee" END END IF END SUB ' ================== Fin du Prog. ===========