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.
on_mouse_move + clic en 1 commande Emptypar Pedro Hier à 10:37

» Un autre pense-bête...
on_mouse_move + clic en 1 commande Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
on_mouse_move + clic en 1 commande Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
on_mouse_move + clic en 1 commande Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
on_mouse_move + clic en 1 commande Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
on_mouse_move + clic en 1 commande Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
on_mouse_move + clic en 1 commande Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
on_mouse_move + clic en 1 commande Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
on_mouse_move + clic en 1 commande Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
on_mouse_move + clic en 1 commande Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
on_mouse_move + clic en 1 commande Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
on_mouse_move + clic en 1 commande Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
on_mouse_move + clic en 1 commande Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
on_mouse_move + clic en 1 commande Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
on_mouse_move + clic en 1 commande 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 du moment : -47%
SAMSUNG T7 Shield Bleu – SSD Externe 1 To ...
Voir le deal
89.99 €

 

 on_mouse_move + clic en 1 commande

Aller en bas 
2 participants
AuteurMessage
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

on_mouse_move + clic en 1 commande Empty
MessageSujet: on_mouse_move + clic en 1 commande   on_mouse_move + clic en 1 commande EmptyDim 10 Mai 2020 - 12:19

Bonjour à tous

En utilisant la commande ON_MOUSE_MOVE, je me suis aperçu que celle-ci réagissait au clic gauche de la souris d'une manière particulière. J'ai d'abord pensé à un bug, mais en poussant les tests je me suis rendu compte que c'est tout à fait exploitable.
Avec cette caractéristique, on peut par exemple éclairer une icone et la faire réagir au clic avec du son, animer un objet par exemple(déclencher un movie),... très facilement en une commande!
Un petit exemple:
Code:
' PEI 0.9.29i8

label mm00,mm10,mm11,mm12

dim cur_obj

'
caption 0," cliquez n'importe où..."
left 0,(screen_x/2)-300 : top 0,(screen_y/2)-200
picture 10 :left 10,37 : top 10,171
picture 11 :left 11,242 : top 11,171
picture 12 :left 12,450 : top 12,171

'
HIGHT_LIGHT(0) :' éclaire l'objet 0 par défaut
DOWN_LIGHT(10) :' assombri l'objet 10 par défaut
DOWN_LIGHT(11) :' assombri l'objet 11 par défaut
DOWN_LIGHT(12) :' assombri l'objet 12 par défaut

' active la détection de mouvement + le clic!
on_mouse_move 0,mm00
on_mouse_move 10,mm10
on_mouse_move 11,mm11
on_mouse_move 12,mm12



END
' MOUSE_MOVE_CHECK(cur_obj) : surveille 'cur_obj' et initialise les 3 variables ci-dessous
' MOUSE_OVER()              : retourne -1 ou le n° de l'objet survolé, puis -1 tant que la souris reste sur cet objet
' LAST_MOUSE_OVER()         : retourne -1 ou le n° du DERNIER objet survolé, puis -1 tant que la souris reste sur l'objet NOUVELLEMENT survolé
' MOUSE_MOVE_CLICKED()      : retourne 0 ou 1 si clic dans l'objet survolé, puis 0 tant que la souris reste sur cet objet
mm00:
  cur_obj=0
  off_mouse_move cur_obj
  '
  MOUSE_MOVE_CHECK(cur_obj)         :' surveiller l'objet 0
  ' résultat de la surveillance:
  if MOUSE_OVER()>-1                :' l'objet 0 est survolé ?
      HIGHT_LIGHT(MOUSE_OVER())     :' oui, change l'aspect(l'éclaire) de l'objet survolé
      DOWN_LIGHT(LAST_MOUSE_OVER()) :' et l'aspect du dernier objet survolé(l'assombri)
  end_if
  if MOUSE_MOVE_CLICKED()=1      :' action si clic dans l'objet 0
     print "clic "+str$(cur_obj) :' afficher un texte par exemple
     '
  end_if
  '
  on_mouse_move cur_obj,mm00
return


mm10:
  cur_obj=10
  off_mouse_move cur_obj
  '
  MOUSE_MOVE_CHECK(cur_obj)         :' surveiller l'objet 10
  ' résultat de la surveillance:
  if MOUSE_OVER()>-1                :' l'objet 10 est survolé ?
      HIGHT_LIGHT(MOUSE_OVER())     :' oui, change l'aspect(l'éclaire) de l'objet survolé
      DOWN_LIGHT(LAST_MOUSE_OVER()) :' et l'aspect du dernier objet survolé(l'assombri)
  end_if
  if MOUSE_MOVE_CLICKED()=1      :' action si clic dans l'objet 10
     print "clic "+str$(cur_obj) :' afficher un texte par exemple
     beep                        :' et un son
  end_if
  '
  on_mouse_move cur_obj,mm10
return


mm11:
  cur_obj=11
  off_mouse_move cur_obj
  '
  MOUSE_MOVE_CHECK(cur_obj)         :' surveiller l'objet 11
  ' résultat de la surveillance:
  if MOUSE_OVER()>-1                :' l'objet 11 est survolé ?
      HIGHT_LIGHT(MOUSE_OVER())     :' oui, change l'aspect(l'éclaire) de l'objet survolé
      DOWN_LIGHT(LAST_MOUSE_OVER()) :' et l'aspect du dernier objet survolé(l'assombri)
  end_if
  if MOUSE_MOVE_CLICKED()=1      :' action si clic dans l'objet 11
     print "clic "+str$(cur_obj) :' afficher un texte par exemple
     beep_exclamation            :' et un son
  end_if
  '
  on_mouse_move cur_obj,mm11
return


mm12:
  cur_obj=12
  off_mouse_move cur_obj
  '
  MOUSE_MOVE_CHECK(cur_obj)         :' surveiller l'objet 12
  ' résultat de la surveillance:
  if MOUSE_OVER()>-1                :' l'objet 12 est survolé ?
      HIGHT_LIGHT(MOUSE_OVER())     :' oui, change l'aspect(l'éclaire) de l'objet survolé
      DOWN_LIGHT(LAST_MOUSE_OVER()) :' et l'aspect du dernier objet survolé(l'assombri)
  end_if
  if MOUSE_MOVE_CLICKED()=1      :' action si clic dans l'objet 12
     print "clic "+str$(cur_obj) :' afficher un texte par exemple
     beep_information            :' et un son
  end_if
  '
  on_mouse_move cur_obj,mm12
return


' modifier l'aspect(l'éclairage) de l'objet lorsque celui-ci est survolé
sub HIGHT_LIGHT(obj)
'  if obj=0 then color 0,236,233,216
  if obj=10 then color 10,255,255,255
  if obj=11 then color 11,255,255,255
  if obj=12 then color 12,255,255,255
end_sub


' rétablir l'aspect(l'éclairage) de l'objet lorsque celui-ci n'est plus survolé
sub DOWN_LIGHT(obj)
'  if obj=0 then color 0,190,186,173
  if obj=10 then color 10,204,204,204
  if obj=11 then color 11,204,204,204
  if obj=12 then color 12,204,204,204
end_sub



' ##############################################################################
' #                                                                            #
' #                 PROCEDURES POUR 'ON_MOUSE_MOVE' + CLIC                     #
' #                                                                            #
' ##############################################################################
' détecter le clic dans un objet survolé
sub MOUSE_MOVE_CHECK(MOUSE_MOVE_CHECK_cur_obj)
 dim_local MOUSE_MOVE_CHECK_null
 if variable("MOUSE_MOVE_CHECK_obj_clic")=0
  dim MOUSE_MOVE_CHECK_obj_clic,MOUSE_MOVE_CHECK_last_obj,MOUSE_MOVE_CHECK_change,MOUSE_MOVE_CHECK_clic,MOUSE_MOVE_CHECK_last
  MOUSE_MOVE_CHECK_obj_clic=0
  MOUSE_MOVE_CHECK_last_obj=0
 end_if
   MOUSE_MOVE_CHECK_change=-1  :' par défaut
   MOUSE_MOVE_CHECK_last=-1    :' par défaut
   MOUSE_MOVE_CHECK_clic=0     :' par défaut
   '
   if mouse_left_down(MOUSE_MOVE_CHECK_cur_obj)=1 then MOUSE_MOVE_CHECK_obj_clic=MOUSE_MOVE_CHECK_cur_obj   :' capturer le n° de l'objet survolé
   '
   if MOUSE_MOVE_CHECK_cur_obj<>MOUSE_MOVE_CHECK_obj_clic then MOUSE_MOVE_CHECK_null=mouse_left_up(MOUSE_MOVE_CHECK_obj_clic)   :' purger la commande si le n° de l'objet survolé
                                                                                                                                :' est <> du n° de l'objet cliqué
   '
   if mouse_left_up(MOUSE_MOVE_CHECK_cur_obj)=1 then MOUSE_MOVE_CHECK_clic=1   :' remplir la variable MOUSE_MOVE_CLICKED()
   '
   if MOUSE_MOVE_CHECK_cur_obj<>MOUSE_MOVE_CHECK_last_obj   :' remplir les variables d'état
      MOUSE_MOVE_CHECK_change=MOUSE_MOVE_CHECK_cur_obj  :' remplir la variable MOUSE_OVER()
      MOUSE_MOVE_CHECK_last=MOUSE_MOVE_CHECK_last_obj   :' remplir la variable LAST_MOUSE_OVER()
   end_if
   '
   MOUSE_MOVE_CHECK_last_obj=MOUSE_MOVE_CHECK_cur_obj
end_sub

' retouner des valeurs
fnc MOUSE_OVER()
   result MOUSE_MOVE_CHECK_change
end_fnc

fnc LAST_MOUSE_OVER()
   result MOUSE_MOVE_CHECK_last
end_fnc

fnc MOUSE_MOVE_CLICKED()
   result MOUSE_MOVE_CHECK_clic
end_fnc

Revenir en haut Aller en bas
jjn4

jjn4


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

on_mouse_move + clic en 1 commande Empty
MessageSujet: Re: on_mouse_move + clic en 1 commande   on_mouse_move + clic en 1 commande EmptyDim 10 Mai 2020 - 14:11

Ah oui, c'est intéressant !
Une astuce à mettre de côté !
cheers
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

on_mouse_move + clic en 1 commande Empty
MessageSujet: Re: on_mouse_move + clic en 1 commande   on_mouse_move + clic en 1 commande EmptyDim 10 Mai 2020 - 14:42

Ca hume un nouveau jeu basé dessus ??? Very Happy

Qu'as tu pensé de mon piano à 3 notes ? lol!

Les autres sont ici:
Code:
dim frequence%,duree%

duree% = 1000 :' en ms
for frequence%=0 to 5000 step 1000  :' Hertz
  caption 0,str$(frequence%)
  NOTE(frequence%,duree%)
next frequence%

terminate

END
sub NOTE(frequence%,duree%)
 dim_local Result%
  dll_on "kernel32"
    Result%=dll_call2("Beep",frequence%,duree%)
  dll_off
end_sub
Revenir en haut Aller en bas
Contenu sponsorisé





on_mouse_move + clic en 1 commande Empty
MessageSujet: Re: on_mouse_move + clic en 1 commande   on_mouse_move + clic en 1 commande Empty

Revenir en haut Aller en bas
 
on_mouse_move + clic en 1 commande
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Gestion du Simple clic et du Double clic
» Panora-clic!
» CLIC sur un memo
» Un clic inactif
» Clic droit

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: