FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» trop de fichiers en cours
Gestion de la souris Emptypar lepetitmarocain Aujourd'hui à 10:32

» Bataille navale SM
Gestion de la souris Emptypar jjn4 Hier à 17:39

» Une calculatrice en une ligne de programme
Gestion de la souris Emptypar jean_debord Hier à 8:01

» Gestion d'un système client-serveur.
Gestion de la souris Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Gestion de la souris Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Gestion de la souris Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Gestion de la souris Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Gestion de la souris Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Gestion de la souris Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Gestion de la souris Emptypar papydall Dim 21 Avr 2024 - 23:30

» Form
Gestion de la souris Emptypar leclode Dim 21 Avr 2024 - 18:09

» 2D_fill_color(résolu)
Gestion de la souris Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Gestion de la souris Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Gestion de la souris Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Gestion de la souris Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
-45%
Le deal à ne pas rater :
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre 14 couverts – ...
339 € 622 €
Voir le deal

 

 Gestion de la souris

Aller en bas 
4 participants
AuteurMessage
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Gestion de la souris Empty
MessageSujet: Gestion de la souris   Gestion de la souris EmptyVen 17 Sep 2010 - 12:36

Jack, je sais que ta préoccupation première c'est de débugger l'existant et de développer les fct 3D mais si tu trouves le temps, et après avis des autres participants du forum bien sur, serait-il possible que tu puisses jeter un coup d'oeil sur ceci ?


Il serait interressant d'avoir:

- une fonction qui renvoie le n° d'objet sur lequel pointe la souris
- avoir les mouse_X_### / mouse_Y_### qui fonctionnent avec tous les types d'objets graphique
- pouvoir déclencher un évènement sur clic droit de la souris

Amicalement,
Nardo
Revenir en haut Aller en bas
http://nardo26.lescigales.org
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptyVen 17 Sep 2010 - 14:16

Moi je me contenterais bien du fait que le On_Click déclenche indifféremment sur le clic gauche ET sur le clic droit, à charge pour le programmeur, s'il le désire, de faire le test dans le sous-programme appelé pour faire la distinction (avec les outils existants).
Ça ajouterait des possibilités au clic.
Et ça ne doit pas être bien difficile à réaliser (je pense).
A priori, et sauf avis contraire, je ne vois que ça puisse changer la programmation existante
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptyVen 17 Sep 2010 - 17:56

D'accord avec toi JL35, déclencher un événement par le click droit serait dèja un progrès.

Mais NARDO26 a également dit:
Citation :
une fonction qui renvoie le n° d'objet sur lequel pointe la souris
et çà aussi se serait pas mal.

Prions mes frères..... Very Happy

EDIT:
Je suis allé jetez un oeil sur ce qui existe dèja et je vois qu'en programmant un peu on doit pouvoir y parvenir avec MOUSE_RIHGT_DOWN(N) qui renvoi la valeur 1 si N a été cliqué. Mais c'est vrai que ON_CLICK_MOUSE_RIGHT N,label serait plus direct.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptyVen 17 Sep 2010 - 19:13

Tant qu'on y est dans les clics:

L'évènement on_click est actuellement déclenche quand on relâche le bouton gauche de la souris. Même si l'on déclenche un évènement on_click par le clic droit, si c'est fait de la même manière, on aura aucun moyen de savoir si le bouton gauche ou droit a déclenché l'évènement, car de toutes façons, le bouton est déjà relaché.

Du coup, on ne peut pas non plus "tirer" un objet avec la souris puisque l'évènement n'est déclenché qu'au moment du relâchement (sauf à utiliser l'astuce de Nardo26 dans son post d'aujourd'hui, mais là, on n'est plus dans les évènement souris, mais dans l'utilisation du timer.

Ce qui serait idéal, ce serait de pouvoir choisir le type d'évènement qu'on veut utiliser. Soit par l'ajout de 3 nouveaux évènements:
on_left_click_down, on_right_click_down, on_right_click_up avec un on_left_click_up en synonyme à on_click
soit par une nouvelle commande:
mouve_event_type x
avec le paramètre x indiquant le type d'évènement à utiliser pour le prochain on_click:
left_down, left_up, right_down, right_up avec left_up par défaut

Dans ce dernier cas, on pourrait imaginer aussi des valeurs de x comme mouse_in et mouse_out et on pourrait ainsi gérer le survol...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptyVen 17 Sep 2010 - 19:54

Oui tout à fait d'accord, j'ai écrris:
Citation :
ON_CLICK_MOUSE_RIGHT N,label
Mais en fait, je pensais
ON_CLICK_MOUSE_RIGHT_AND_DOWN N,label et ainsi de suite pour UP et LEFT.

Bien sur AND est peut-être superflu...

A+

EDIT: si je garde ON_CLICK_MOUSE.... au début du mot clé (éventuel) c'est pour respecter ce qu'a dèja fait Jack pour rassembler les mots-clés par catégorie. Ici la catégorie ON_CLICK.
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptyVen 17 Sep 2010 - 20:21

T'en demande peut être un peu beaucoup Klaus Wink
Comme le dis JL35, la commande on_click N,label serait largement suffisante. il existe d'autres fct sur la souris pour déterminer ensuite sur quel bouton l'évènement c'est produit....
Il faut juste que le bouton droit provoque l'évènement...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptyVen 17 Sep 2010 - 21:34

Oui mais Klaus me trouble en précisant (et il a raison) que le On_Click ne déclenche qu'au moment du relâchement, du coup dans le s/p de traitement on ne peut plus savoir si c'était gauche ou droite... il faudrait déclencher dès l'appui...

Je rectifie toutefois: quand on arrive dans le sous-programme, le bouton est toujours considéré comme enfoncé, donc à mon avis, notre suggestion à Nardo et moi marcherait:
Code:
Label Sousp
Button 1: Caption 1, "Bouton"
On_Click 1, Sousp
end

Sousp:
IF MOUSE_LEFT_DOWN(1) = 1
    MESSAGE "Bouton gauche enfoncé"
ELSE
    IF MOUSE_RIGHT_DOWN(1) = 1
        MESSAGE "Bouton droit enfoncé"
    ELSE
        IF MOUSE_LEFT_UP(1) = 1
            MESSAGE "Bouton gauche relâché"
        ELSE
            IF MOUSE_RIGHT_UP(1) = 1
                MESSAGE "Bouton droit relâché"
            END_IF
        END_IF
    END_IF
END_IF
RETURN
(Comme prévu, on n'a évidemment aucune réaction sur le bouton droit).
Revenir en haut Aller en bas
Invité
Invité




Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptyVen 17 Sep 2010 - 23:23

Moi je regarde évoluer Panoramic et cette liste du 30 novembre que Jack à... un peu oublier...

J'ai hâte que ce fameux Memo_Rich soit créer, les fonctions d'impression que tous le monde souhaite avoir et une certaine amélioration pour la musique et les vidéos. Mais pour l'instant je crée un logiciel SmallWork (ou petit travaux) qui va intégrer un éditeur de texte, un éditeur d'image, un éditeur HTML et un lecteur multimédia. Je vais même peut-être intéger un language de programmation minuscule et une calculatrice comme celle que j'ai déjà crée. (j'ai mis l'exécutable de la calculatrice quelque part sur le forum.)

Nicolas
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptyVen 17 Sep 2010 - 23:30

Eh bien Nicolas, ça ne m'étonne plus qu'on ne te voie plus beaucoup ! tu va bientôt nous refaire un système d'exploitation tant que tu y es !
Revenir en haut Aller en bas
Invité
Invité




Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptySam 18 Sep 2010 - 0:32

Je pense que comme pour scancode pendant un bon moment, on avait des problèmes avec, peut-être faudra t-il que Jack regarde de nouveau les instructions dur le traitement de la souris.

Voici un p'tit programme d'essai, et on ne peut pas dire que celà fonctionne bien. Pour déplacer avec le clic droit la liste, il faut être sur le coin extérieur haut gauche. Il faut aussi manœuvrer vers l'extérieur de l'objet pour que le déplacement se fasse, sinon il ne se passe rien.
De plus même on modifiant avec les clics up ou down des commandes, et les paramètres en conséquences, on ne se détache pas de l'objet. Il reste collé.

Dans le manuel il est dit que ces commandes sont pour les objets 2D et 3D. Je n'ai pas essayé avec ce type d'objet, mais je ne pense pas que cela va changer grand chose.

Si des spécialistes veulent vérifier!

Code:
dim x%,y%,d%,h%,go%
label suite
list 1:width 1,200:height 1,100:print_target_is 1
timer 2:timer_interval 2,100
on_timer 2,suite
end

suite:
  if mouse_right_down(1)=1
  timer_off 2 
  repeat
      color 1,255,0,0
      x%=mouse_x_position(0)
      y%=mouse_y_position(0)
      top 1,y%:left 1,x% 
      if scancode=27 then terminate
      wait 50
      if mouse_right_up(1)=1 then exit_repeat:' j'ai fait une répétition ici mais sans résultat
  until mouse_right_up(1)=1
  end_if
  timer_on 2
return

C'est avec le clic droit sur list que le codage est fait.
De plus je me demande à quoi servent les instructions du type MOUSE_X_RIGHT_DOWN, etc... je ne vois aucune valeur autre que zéro???.

Et vous?
Bonne nuit
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptySam 18 Sep 2010 - 8:50

Le code de JL35 est plus parlant en remplaçant le bouton par un picture (car je ne vois pas l'intérêt de faire un click droit sur un bouton), mais le résultat est le même. Nous sommes bien d'accord il manque bien à panoramic une (plusieurs) commande pour déclencher un événement par un click_droit.

Le code de COSMOS montre qu'avec un timer on peut utiliser les fonctions MOUSE..... Mais c'est plus difficile à gérer que ON_CLICK_MOUSE_RIGHT_DOWN N,Label

A+
Revenir en haut Aller en bas
Invité
Invité




Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptySam 18 Sep 2010 - 9:12

Le code que j'ai mis n'est pas là pour s'en servir, mais pour montrer les imperfections des commandes qui concerne la souris.

MOUSE_X_POSITION(n) ne fonctionne que sur le coin haut gauche, et pour continuer à lire dans le cas déplacement, il faut varier la position sur l'extérieur. Si on déplace sur l'intérieur, cela ne fonctionne pas.

les commandes comme MOUSE_RIGHT_UP(n) et l'ensemble des commandes parallèles ne prennent plus en temps réel l'information de la souris. Ainsi une fois relâché, l'objet continu à se déplacer alors qu'on ne clique plus.

Plusieurs fois j'ai voulu me servir de MOUSE_X_RIGHT_DOWN et commandes // c'est à dire Y et LEFT et UP et j'ai toujours le résultat :0

Est-ce moi qui ne comprend pas?
Revenir en haut Aller en bas
Invité
Invité




Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptySam 18 Sep 2010 - 17:54

Je vois que vous n'êtes pas d'accord avec moi, vu que le message reste vide.
Le code que j'ai mis est un simple exemple. Mais depuis j'essaye de faire marcher le timer pour le survole de la souris sur un objet, et je constate malgrès les différence de codage, les mêmes effets.

Ce qui manque si Jack ne veux pas reprendre ses instructions, c'est une simple commande qui remet les valeurs à zéro des clics et positions. Je ne sais pas si j'ai su me faire comprendre.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptySam 18 Sep 2010 - 18:03

Si COSMOS on est d'accord, reste plus qu'a attendre une réaction de Jack s'il le souhaite.
Salut, A+
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptyDim 19 Sep 2010 - 10:07

Je reviens sur le code de Cosmos pour déplacer une liste avec le click droit. Tu dis que cela ne marche que si l'on fait un mouvement vers l'extérieur. Cela ven du fait que les fonctions mouse_x_position(0) et mouse_y_position(0) ne retournent une valeur significative que si le curseur se trouve au-dessus d'un espace "vide" de la form 0. Dès que le curseur se trouve au-dessus d'un autre objet (et c'est le cas d'un movmement vers l'intérieur), la form 0 ne peut plus être touchée par ces fonctions.

Pour l'évènement clic: il ne se déclenche effectivement qu'en relâchant le bouton. La fonction mouse_left_down retourne la valeur 1 dans la routine évènement, mais c'est trompeur: en réalité, le bouton et déjà relâché et au deuxième appel, la fonction retourne la valeur 0 ce qui est normal.

Voici un petit code pour le mettre en évidence:
Code:

label click
dim cnt%

alpha 1

on_click 0,click

end

click:
cnt% = 0
while mouse_left_down(0)=1
cnt% = cnt% + 1
caption 1,"mouse_left_down(0)=1 "+str$(cnt%)+" fois"
end_while
return

On peut bien sûr employer la technique de Cosmos70 avec un timer pour surveiller en permanence les deux boutons de la souris. Encore faut-il ensuite identifier l'objet concerné en fonction de la position de la souris et de l'état de l'objet (visible/invisible, recouvert par un autre ou non, identifier la form concernée dans le cas de programmes avec plusieurs forms, etc. Tout cela est certes possible, mais lourd à mettre en place. Windows met des évènements précis à disposition pour tout cela: bouton gauche enfoncé ou relâché, bouton droit enfoncé ou relaché, entrée ou sortie de la souris sur un objet etc. Je pense que pour des fonctions de ce genre, cela ne sert à rien de vouloir réinventer ce que Windows fait déjà. La seule solution "viable" serait que Panoramic donne accès à ces évènements. On peut bien sûr discuter de la manière à faire, que ce soit ma proposition ou une autre; de toutes façon, c'est Jack qui choisira la méthode de réalisation s'il consent à aller dans ce sens. Mais je reste convaincu qu'une extension dans ce sens est indispensable.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris EmptyDim 19 Sep 2010 - 10:20

Tout à fait d'accord, et j'interviens pour appuyer cette demande, vu que plus on est de fou et plus on fait pencher la balance.
@+
Revenir en haut Aller en bas
Contenu sponsorisé





Gestion de la souris Empty
MessageSujet: Re: Gestion de la souris   Gestion de la souris Empty

Revenir en haut Aller en bas
 
Gestion de la souris
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Gestion de la souris
» Position de la souris.
» Interception de la molette de la souris
» molette de la souris
» A propos de souris...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: