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
» Je teste PANORAMIC V 1 beta 1
recup d' un clic souris Emptypar papydall Aujourd'hui à 2:48

» bouton dans autre form que 0
recup d' un clic souris Emptypar leclode Hier à 13:59

» KGF_dll - nouvelles versions
recup d' un clic souris Emptypar Klaus Hier à 11:41

» Gestion d'un système client-serveur.
recup d' un clic souris Emptypar Klaus Hier à 10:23

» PANORAMIC V 1
recup d' un clic souris Emptypar papydall Sam 4 Mai 2024 - 3:43

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
recup d' un clic souris Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
recup d' un clic souris Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
recup d' un clic souris Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
recup d' un clic souris Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
recup d' un clic souris Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
recup d' un clic souris Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
recup d' un clic souris Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
recup d' un clic souris Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
recup d' un clic souris Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
recup d' un clic souris Emptypar jjn4 Lun 22 Avr 2024 - 13:43

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Cdiscount : -30€ dès 300€ d’achat sur une sélection Apple
Voir le deal

 

 recup d' un clic souris

Aller en bas 
3 participants
AuteurMessage
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

recup d' un clic souris Empty
MessageSujet: recup d' un clic souris   recup d' un clic souris EmptyLun 24 Mar 2014 - 23:33

J' ai un trou de mémoire...

Qui peut me rappeler comment récupérer un évènement souris sur l' écran ?
Je veux juste savoir si il y a un clic souris.
Revenir en haut Aller en bas
Klaus

Klaus


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

recup d' un clic souris Empty
MessageSujet: Re: recup d' un clic souris   recup d' un clic souris EmptyMar 25 Mar 2014 - 0:36

Désolé - pour l'heure, Panoramic ne donne aucun moyen de savoir si un évènement a eu lieu, de manière générale. On peut seulement être averti lorsqu'un évènement survient sur un objet précis, par l'intermédiaire d'une routine évènement via la commande ON_xxx.

Le seul moyen de s"en approcher, ce serait de déclarer, pour chaque type évènement (ON_CLICK, ON_KEY_DOWN etc) la même routine évènement, dans laquelle on positionnerait une valeur dans un variable dont le contenu serait 1 si l'évènement a eu lieu, par exemple, quelque soit l'évènement. Ensuite, il faut dispatcher le traitement de l'évènement en fonction de la variable système NUMBER_CLICK, par exemple. Lourd, mais efficace pour répondre à ton interrogation.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

recup d' un clic souris Empty
MessageSujet: re   recup d' un clic souris EmptyMar 25 Mar 2014 - 0:41

@ Klaus,

Je me bats avec une dll de Nardo26 (mouse.dll) qui fait cà...
mais j' ai un souci quand j' essaye de combiner KGF et les deux dll de nardo dont j' ai besoin.

regarde çà, c' est le code exemple de nardo26 : 
Code:
' -----------------------------------------------------------------------
'        E X E M P L E   D ' A P P E L   A   M O U S E . D L L
' -> Récuperation des coordonnées de la souris et de l'état des boutons
' Auteur : Nardo26 (26/10/2011)
' -----------------------------------------------------------------------

DLL_ON "mouse.dll"
LABEL errProg,endProg
ON_ERROR_GOTO errProg : ON_CLOSE 0, endProg

LABEL procTimer
DIM coord$,txt$ : coord$=STRING$(8," ")
DIM bouton,x,y

CAPTION 0,"DEMO : MOUSE.DLL"
TIMER 1:TIMER_INTERVAL 1,100: ON_TIMER 1, procTimer
ALPHA 2 : LEFT 2,20 : TOP 2,20
ALPHA 3 : LEFT 3,20 : TOP 3,40
ALPHA 4 : LEFT 4,20 : TOP 4,60
END

procTimer:
  bouton = DLL_CALL1("GetMouseXY",ADR(coord$))
  x = VAL(LEFT$(coord$,4)) : y = VAL(RIGHT$(coord$,4))
  txt$="Chaine retournée après appel ="+coord$
  CAPTION 2,txt$
  txt$="Coordonnées =      X: "+STR$(x)+"     Y: "+STR$(y)
  CAPTION 3,txt$
  txt$=""
  IF BIN_AND(bouton,1)<>0 THEN txt$="Gauche "
  IF BIN_AND(bouton,2)<>0 THEN txt$=txt$+"Droite "
  IF BIN_AND(bouton,4)<>0 THEN txt$=txt$+" Central"
  IF txt$="" THEN txt$="Aucun"
  txt$="Bouton : "+txt$
  CAPTION 4,txt$
RETURN

errProg:
  MESSAGE error_type$+" "+STR$(error_line)
endProg:
  TIMER_OFF_ALL
  DLL_OFF
TERMINATE

la dll est sur son webdav  ( mouse.dll )

Je te mets l' exemple de la deuxième dll, qui récupère la couleur du pixel sous le curseur de la souris n' importe où sur l' écran.
Code:
LABEL FinProg

DLL_ON "pick.dll"
ON_CLOSE 0,FinProg
LABEL Pick
TIMER 1:TIMER_INTERVAL 1,100
ON_TIMER 1,Pick

END
Pick:
  DIM Pick_Coordonnee$,Pick_retour%
  DIM Pick_x,Pick_y
  Pick_Coordonnee$=STRING$(20," ")
  Pick_retour%=dll_call1("GetMouseXY",ADR(Pick_Coordonnee$))
  Pick_x = VAL(LEFT$(Pick_Coordonnee$,INSTR(Pick_Coordonnee$,":")-1))
  Pick_y = VAL(MID$(Pick_Coordonnee$,INSTR(Pick_Coordonnee$,":")+1,200))
  Pick_Coordonnee$=STRING$(20," ")
  Pick_retour%=dll_call3("GetColorXY",Pick_x,Pick_y,ADR(Pick_Coordonnee$))


'  VAL(LEFT$(Pick_Coordonnee$,INSTR(Pick_Coordonnee$,":")-1))
  CAPTION 0,"Coordonnées "+str$(Pick_x)+" x "+str$(Pick_y)+" couleur :"+Pick_Coordonnee$
FREE Pick_Coordonnee$:FREE Pick_retour%
FREE Pick_x:FREE Pick_y
return

FinProg:
  DLL_OFF
TERMINATE

la dll est pick.dll et elle est aussi sur le webdav de nardo


 Embarassed  Peut être est il possible d' intégrer les fonctions de ces deux dlls dans KGF ?..... tongue
Revenir en haut Aller en bas
Klaus

Klaus


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

recup d' un clic souris Empty
MessageSujet: Re: recup d' un clic souris   recup d' un clic souris EmptyMar 25 Mar 2014 - 1:56

Je ne vais pas intégrer les fonctions de Nardo dans KGF.dll. C'est son bébé, et je n'interviendrai pas dessus.

Mais, tu peux les utiliser à partir de KGF.dll. La seule DLL ouverte par Panormic sera KGF.dll. Et la fonction res% = dll_call1("LoadDLL",adr(dll$)) permettra de charger les deux autres DLLs pour pouvoir les utiliser simultanément. Regarde la doc dans KGF.chm, dans la section "Gestion des DLLs dynamiques". Tu utilises ensuite, pour chaque appel à une fonction d'une de ces deux DLLs, la fonction res% = dll_call2("TargetDLL",hnd%,adr(fonction$)) avec laquelle tu spécifies le nom de la fonction que tu veux appeler, puis tu utilises res% = dll_callx("CallDLLx",p1%,...,p6%) pour appeler la fonction choisie avec le bon nombre de paramètres.

Et voilà - tu pourras utiliser autant de DLLs dynamiques simultanément que tu veux. Mais n'oublie pas d'utiliser res% = dll_call1("UnLoadDLL",hnd%) pour décharger les DLLs dynamiques si tu n'en as plus besoin.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

recup d' un clic souris Empty
MessageSujet: re   recup d' un clic souris EmptyMar 25 Mar 2014 - 3:21

Je me suis battu pendant une heure avant de comprendre 
que j' avais oublié une réservation du style m$=string$(255," ")... bounce  

Je ne sais plus dans quel trou de souris me cacher...Embarassed 

Ceci dit nous avons un problème lorsqu' un programme Panoramic en appelle un autre.
Les deux sont des *.exe l' appelé fonctionne très bien tout seul 
mais si il est appelé par le premier il ne trouve plus les dlls... scratch 

Je pense qu' il y aune confusion entre les deux sur dir_current$
Quand le premier se met en route il s' ouvre dans son propre dossier
et quand il appelle le second, celui ci s'ouvre mais le dossier actif est le dossier du premier
et dir_current$ doit renvoyer celui au lieu de son propre dossier.

Je rencontre un autre problème avec Param_value$ qui ne lit pas les paramètres comme il le devrait  Suspect .

Bref que de soucis pour arriver à quelque chose de propre...
Revenir en haut Aller en bas
Klaus

Klaus


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

recup d' un clic souris Empty
MessageSujet: Re: recup d' un clic souris   recup d' un clic souris EmptyMar 25 Mar 2014 - 8:57

Si tu lances un programme par
Code:
EXECUTE "C:\MonDossier\MonProgramme.exe
alors
Code:
prog$ = PARAM_VALUE(0)
retourne C:\MonDossier\MonProgramme.exe, et tu peux en extraire le nom du dossier pour imposer le dossier par défaut.

Tu peux aussi faire
Code:
EXECUTE "C:\MonDossier\MonProgramme.exe C:\DossierDeTravail\
et
Code:
prog$ = PARAM_VALUE(1)
retourne C:\DossierDeTravail\, et tu peux en extraire le nom du dossier pour imposer le dossier par défaut.

Bien sûr, il convient en général d'entourer ces paramètres par des chr$(34) à cause des espaces dans les noms de dossier.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

recup d' un clic souris Empty
MessageSujet: re    recup d' un clic souris EmptyMar 25 Mar 2014 - 11:25

@ Klaus,

Je vais essayer de faire un petit dossier sur mon webdav pour 
te montrer ce qu' il se passe.
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2693
Date d'inscription : 13/09/2009

recup d' un clic souris Empty
MessageSujet: +++   recup d' un clic souris EmptyMar 25 Mar 2014 - 13:39

ygeronimi a écrit:
Comment récupérer un évènement souris sur l'écran ?
Je veux juste savoir si il y a un clic souris.

Et, de façon plus simple, avec une méthode comme celle-là,
ça ne donne pas ce que tu demandes ?
Code:
label clic
caption 0,"Cliquez sur les différents aspects apparaissant dans le picture"
on_click 0,clic
picture 10
  2d_target_is 10
  2d_fill_color 250,0,0
  2d_circle 20,20,10
  2d_fill_color 0,0,255
  2d_circle 60,60,20
  on_click 10,clic
end
clic:
  if clicked(0)=1
      caption 0,"Beige"
  else
      if mouse_left_down(10)=1
        caption 0,"Blanc"
        if color_pixel_red(10,mouse_x_position(10),mouse_y_position(10))=250
            caption 0,"Rouge"
        end_if
        if color_pixel_red(10,mouse_x_position(10),mouse_y_position(10))=0
            caption 0,"Bleu"
        end_if
      end_if
  end_if
return
(n'y voyez rien d'excessivement patriotique)
 study alien Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

recup d' un clic souris Empty
MessageSujet: re   recup d' un clic souris EmptyMar 25 Mar 2014 - 14:45

@ jjn4,

ton code est le bon pour un objet panoramic
mais ne s' applique qu' à un objet donné sur un form panoramic donné
et pas à la souris elle même.

J' ai retrouvé mon bonheur dans les dlls de Nardo26

mouse.dll

On récupère un évènement souris n' importe où sur l' écran.
Revenir en haut Aller en bas
Contenu sponsorisé





recup d' un clic souris Empty
MessageSujet: Re: recup d' un clic souris   recup d' un clic souris Empty

Revenir en haut Aller en bas
 
recup d' un clic souris
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Tolérance dans le clic souris
» Clic souris répétitif automatique
» Simuler un clic gauche souris
» Création d'objets par clic de souris
» Objets réagissant au survol de la souris, sans clic !

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: