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
» Logiciel de planétarium.
recup d' un clic souris Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
recup d' un clic souris Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
recup d' un clic souris Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
recup d' un clic souris Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
recup d' un clic souris Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
recup d' un clic souris Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
recup d' un clic souris Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
recup d' un clic souris Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
recup d' un clic souris Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
recup d' un clic souris Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
recup d' un clic souris Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
recup d' un clic souris Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
recup d' un clic souris Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
recup d' un clic souris Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
recup d' un clic souris Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

 

 recup d' un clic souris

Aller en bas 
3 participants
AuteurMessage
Yannick




Nombre de messages : 8635
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 : 12331
Age : 75
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 : 8635
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 : 12331
Age : 75
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 : 8635
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 : 12331
Age : 75
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 : 8635
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 : 2747
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 : 8635
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
-
» Clic souris répétitif automatique
» Simuler un clic gauche souris
» Création d'objets par clic de souris
» Tolérance dans le clic souris
» Clic sur un objet 3D.

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: