Informations sur: Déplacement avec la souris

Publié par Freem le 12/06/2007

Description

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é

Code source (langage qbasic)

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. ===========
v6 © Computaid SPRL 2005-2008 - Tous droits réservés - Hébergé par eTigris - Page générée en 0,050 s - Crédits - Stats
1 connecté