FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» TourD Version 2
par Minibug Aujourd'hui à 1:50

» La métamatière et le peuple
par JL35 Hier à 21:18

» Capture d'une zone de l'écran total
par JL35 Hier à 18:41

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Hier à 11:49

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

» Bizzarerie dans Edge
par Marc 37 Mer 15 Nov 2017 - 17:45

» KGF_dll - nouvelles versions
par Klaus Mer 15 Nov 2017 - 2:08

» Analyser un code Panoramic
par JL35 Lun 13 Nov 2017 - 18:38

» Un bonjour en passant...
par Minibug Dim 12 Nov 2017 - 19:57

» mise a jour calculatrice
par joeeee2017 Dim 12 Nov 2017 - 4:20

» comment accèder à l'heure et à la date d'un fichier
par Klaus Sam 11 Nov 2017 - 0:53

» Compilateur FBPano
par Jicehel Mer 8 Nov 2017 - 15:22

» Mon adresse e-mail
par treehouse Mer 8 Nov 2017 - 14:36

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Klaus

avatar

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

MessageSujet: 2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect   Mar 2 Avr 2013 - 1:02

Nouvelle version:
KGF.dll V2.10 du 02/04/2013
EDIT
KGF.dll V2.11 du 04/04/2013 : activation du code action -7 (MouseMove dans rectangle)
(module modifié pour la V2.11: KGF.dll uniquement)

Nouveautés: ajout d'une fonction permettant de définir une région rectangulaire. Modification de la fonction définissant les liens pour un rectangle, en utilisant les rectangles définis au préalable.

' définir un rectangle de numéro num% (de 1 à 200)
DLL: res% = dll_call5("ClickDefineRect",num%,x%,y%,w%,h%)
KGF_SUB: ClickDefineRect(num%,x%,y%,w%,h%)


' lier une action à un rectangle num% défini préalablement (actions -6 ou -6 ou -7 seulement)
DLL: res% = dll_call3("ClickSetLinkRect",hnd_button%,typ%,num%)
KGF_SUB: ClickSetLinkRect(btn%,typ%,num%)


Modules modifiés:
KGF.dll
KGF_SUB.bas
KGF.chm, KGF.doc, KGF.pdf


Et voici le programme de démo, avec un list et deux picture. Les deux picture sont redéfinis en rectangles 1 et 2, et on surveille l'entrée et la sortie dans le list ET les deux picture.

Code:
' test_mouse_over_ter.bas

label mouse_enter_memo, mouse_exit_memo
label mouse_enter_rect, mouse_exit_rect, mouse_move_rect

dim dll$ : dll$ = "KGF.dll"
dim langage$ : langage$ = "FR"
' dim langage$ : langage$ = "EN"

KGF_initialize(dll$)

memo 1 : top 1,10 : left 1,10
  width 1,300 : height 1,300
if langage$="FR
  item_add 1,"Déplacez le curseur"
  item_add 1,"à l'aide de la souris."
  item_add 1,"Les objets vont"
  item_add 1,"changer d'aspect"
else
  item_add 1,"Hoover the cursor"
  item_add 1,"over the objects"
  item_add 1,"and they will"
  item_add 1,"change their aspect"
end_if
picture 2 : top 2,10 : left 2,350
  width 2,200 : height 2,400
picture 3 : top 3,320 : left 3,200
  width 3,120 : height 3,100

edit 101 : top 101,320 : width 101,60 : left 101,10 : ' hide 101
button 201 :hide 201 : on_click 201,mouse_enter_memo
button 301 :hide 301 : on_click 301,mouse_exit_memo

edit 102 : top 102,320 : width 102,60 : left 102,80: ' hide 102
button 202 :hide 202 : on_click 202,mouse_enter_rect
button 302 :hide 302 : on_click 302,mouse_exit_rect
button 402 :hide 402 : on_click 402,mouse_move_rect


' ClickSetHook(1,101)
' ClickSetLink(201,5)
' ClickSetLink(301,6)
DefineMouseOver(1,201,101,5)
DefineMouseOver(1,301,101,6)

' ClickSetHook(0,102)
' ClickDefineRect(1,left(2),top(2),width(2),height(2))
' ClickDefineRect(2,200,320,120,100)
' ClickSetLinkRect(202,5,1)
' ClickSetLinkRect(302,6,1)
' ClickSetLinkRect(402,7,1)
' ClickSetLinkRect(202,5,2)
' ClickSetLinkRect(302,6,2)
' ClickSetLinkRect(402,7,2)

 DefineMouseOverRect(0,202,102,5,1,left(2),top(2),width(2),height(2))
 DefineMouseOverRect(0,302,102,6,1,left(2),top(2),width(2),height(2))
 DefineMouseOverRect(0,402,102,7,1,left(2),top(2),width(2),height(2))
 DefineMouseOverRect(0,202,102,5,2,200,320,120,100)
 DefineMouseOverRect(0,302,102,6,2,200,320,120,100)
 DefineMouseOverRect(0,402,102,7,2,200,320,120,100)

end

mouse_enter_memo:
  color 1,255,230,230
  font_color 1,0,0,255
  if langage$="FR"
    caption 0,"Entrée mémo "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  else
    caption 0,"Enter mémo "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  end_if
  return

mouse_exit_memo:
  color 1,255,255,255
  font_color 1,0,0,0
  if langage$="FR"
    caption 0,"Sortie mémo "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  else
    caption 0,"Exit mémo "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  end_if
  return

mouse_enter_rect:
  if langage$="FR"
    caption 0,"Entrée picture "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  else
    caption 0,"Enter picture "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  end_if
  return

mouse_exit_rect:
  if langage$="FR"
    caption 0,"Sortie picture "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  else
    caption 0,"Exit picture "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  end_if
  return

mouse_move_rect:
  if langage$="FR"
    caption 0,"Move picture "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  else
    caption 0,"Move picture "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  end_if
  return


' DefineMouseOver:
' P1 = le numéro d'objet à surveiller
' P2 = le numéro du bouton fictif qui sert de relais/déclencheur (çà c'est pas encore trop dur à comprendre Laughing )
' P3 = la variable de retour pour l'objet dans lequel se trouve la souris
' P4 = la variable de retour du type d'évènement en cours
sub DefineMouseOver(obj%,btn%,edt%,act%)
  ClickSetHook(obj%,edt%)
  ClickSetLink(btn%,act%)
end_sub

' DefineMouseOverRect:
' P1 = le numéro d'objet à surveiller
' P2 = le numéro du bouton fictif qui sert de relais/déclencheur (çà c'est pas encore trop dur à comprendre Laughing )
' P3 = la variable de retour pour l'objet dans lequel se trouve la souris
' P4 = la variable de retour du type d'évènement en cours
sub DefineMouseOverRect(obj%,btn%,edt%,act%,num%,x%,y%,w%,h%)
  ClickSetHook(obj%,edt%)
  ClickDefineRect(num%,x%,y%,w%,h%)
  ClickSetLinkRect(btn%,act%,num%)
end_sub

#INCLUDE "KGF_SUB.bas"


Juste une petite indication pour l'utilité de cela:
- on peut maintenant gérer le survol de plusieurs picture en même temps que celui des objets normaux Panoramic
- on peut définir plusieurs zones "sensitives" dans un même picture et réagir lorsque le curseur survole ces zones. Un exemple: une carte de France sur laquelle on définit des carrés sensitifs autour des villes principales, et lors du survol, on affiche une information sur la ville.

Le EDIT recevant les coordonnées contient aussi l'identification du rectangle, dans le cas d'une action sur un erectangle. Dans ce cas, lr format est:
x,yRn
x,y = adresse du curseur de la souris
n = numéro du rectangle

EDIT

La modification du 4/4/2013 passant à la version 2.11 apporte la possibilité de gérer le survol (code -7) d'un rectangle, avec le suivi instantané du curseur, à l'intérieur d'un rectangle. Le programme de démo intègre cette fonction pour les deux rectangles.


Dernière édition par Klaus le Jeu 4 Avr 2013 - 15:23, édité 5 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 2 Avr 2013 - 13:20

Bravo Klaus,

Voilà qui va encore simplifier les choses...
Bientôt nous pourrons pourrons faire des animations "Panoramiflash" Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect   Jeu 4 Avr 2013 - 17:10

J'ai fait une légère modif dans KGF.dll (sans changement de version !). Il convient donc de recharger la DLL, surtout si l'on veut essayer le programme suivant:
Code:
' test_mouse_over_ter.bas

label mouse_enter_memo, mouse_exit_memo
label mouse_enter_rect, mouse_exit_rect, mouse_move_rect

dim dll$ : dll$ = "KGF.dll"
dim langage$ : langage$ = "FR"
' dim langage$ : langage$ = "EN"

dim x%, y%, r%, s$, p%

KGF_initialize(dll$)

memo 1 : top 1,10 : left 1,10
  width 1,300 : height 1,300
if langage$="FR
  item_add 1,"Déplacez le curseur"
  item_add 1,"à l'aide de la souris."
  item_add 1,"Les objets vont"
  item_add 1,"changer d'aspect"
else
  item_add 1,"Hoover the cursor"
  item_add 1,"over the objects"
  item_add 1,"and they will"
  item_add 1,"change their aspect"
end_if
picture 2 : top 2,10 : left 2,350
  width 2,200 : height 2,400
picture 3 : top 3,320 : left 3,200
  width 3,120 : height 3,100
 
edit 101 : top 101,320 : width 101,60 : left 101,10 : ' hide 101
button 201 :hide 201 : on_click 201,mouse_enter_memo
button 301 :hide 301 : on_click 301,mouse_exit_memo

edit 102 : top 102,320 : width 102,60 : left 102,80: ' hide 102
button 202 :hide 202 : on_click 202,mouse_enter_rect
button 302 :hide 302 : on_click 302,mouse_exit_rect
button 402 :hide 402 : on_click 402,mouse_move_rect


' ClickSetHook(1,101)
' ClickSetLink(201,5)
' ClickSetLink(301,6)
DefineMouseOver(1,201,101,5)
DefineMouseOver(1,301,101,6)

' ClickSetHook(0,102)
' ClickDefineRect(1,left(2),top(2),width(2),height(2))
' ClickDefineRect(2,200,320,120,100)
' ClickSetLinkRect(202,5,1)
' ClickSetLinkRect(302,6,1)
' ClickSetLinkRect(402,7,1)
' ClickSetLinkRect(202,5,2)
' ClickSetLinkRect(302,6,2)
' ClickSetLinkRect(402,7,2)

 DefineMouseOverRect(0,202,102,5,1,left(2),top(2),width(2),height(2))
 DefineMouseOverRect(0,302,102,6,1,left(2),top(2),width(2),height(2))
 DefineMouseOverRect(0,402,102,7,1,left(2),top(2),width(2),height(2))
 DefineMouseOverRect(0,202,102,5,2,200,320,120,100)
 DefineMouseOverRect(0,302,102,6,2,200,320,120,100)
 DefineMouseOverRect(0,402,102,7,2,200,320,120,100)

end

mouse_enter_memo:
  color 1,255,230,230
  font_color 1,0,0,255
  if langage$="FR"
    caption 0,"Entrée mémo "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  else
    caption 0,"Enter mémo "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  end_if
  return

mouse_exit_memo:
  color 1,255,255,255
  font_color 1,0,0,0
  if langage$="FR"
    caption 0,"Sortie mémo "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  else
    caption 0,"Exit mémo "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  end_if
  return

mouse_enter_rect:
  s$ = text$(102)
  p% = instr(s$,"R")
  r% = mid$(s$,p%+1,len(s$))
  2d_target_is r%+1
  if langage$="FR"
    caption 0,"Entrée picture "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  else
    caption 0,"Enter picture "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  end_if
  return

mouse_exit_rect:
  s$ = text$(102)
  p% = instr(s$,"R")
  r% = mid$(s$,p%+1,len(s$))
  2d_target_is r%+1
  if langage$="FR"
    caption 0,"Sortie picture "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  else
    caption 0,"Exit picture "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  end_if
  return

mouse_move_rect:
  s$ = text$(102)
  p% = instr(s$,"R")
  r% = mid$(s$,p%+1,len(s$))
  s$ = left$(s$,p%-1)
  p% = instr(s$,",")
  x% = val(left$(s$,p%-1))-left(r%+1)
  y% = val(mid$(s$,p%+1,len(s$)))-top(r%+1)
  2d_circle x%, y%, 3
  if langage$="FR"
    caption 0,"Move picture "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  else
    caption 0,"Move picture "+time$+" ("+trim$(text$(101))+") ("+trim$(text$(102))+")"
  end_if
  return

' DefineMouseOver:
' P1 = le numéro d'objet à surveiller
' P2 = le numéro du bouton fictif qui sert de relais/déclencheur (çà c'est pas encore trop dur à comprendre Laughing )
' P3 = la variable de retour pour l'objet dans lequel se trouve la souris
' P4 = la variable de retour du type d'évènement en cours
sub DefineMouseOver(obj%,btn%,edt%,act%)
  ClickSetHook(obj%,edt%)
  ClickSetLink(btn%,act%)
end_sub

' DefineMouseOverRect:
' P1 = le numéro d'objet à surveiller
' P2 = le numéro du bouton fictif qui sert de relais/déclencheur (çà c'est pas encore trop dur à comprendre Laughing )
' P3 = la variable de retour pour l'objet dans lequel se trouve la souris
' P4 = la variable de retour du type d'évènement en cours
sub DefineMouseOverRect(obj%,btn%,edt%,act%,num%,x%,y%,w%,h%)
  ClickSetHook(obj%,edt%)
  ClickDefineRect(num%,x%,y%,w%,h%)
  ClickSetLinkRect(btn%,act%,num%)
end_sub

#INCLUDE "KGF_SUB.bas"


C'est le même programme que précédemment, mais maintenant, lorsqu'on déplace la souris lentement à travers les deux pictures, une trace est dessinée.

La modification de la DLL, c'est que la routine détecte si le curseur reste immobile sur le même point, dans un rectangle sensible, et n'envoie donc plus d'évènements en rafale. C'est plus propre comme ça.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

Nombre de messages : 548
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: 2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect   Ven 5 Avr 2013 - 22:16

klaus

je n'arrive pas a enclenché la position de la souris
dans le picture dès que le curseur est dedans

voici le code:
Code:
dim xpos%,wpos%,ypos%,hpos%,KGF_res%

height 0,800
picture 1
width 1,500
height 1,500
rem visualise le fichier bitmap

    dll_on KGF.dll

alpha 2 :top 2,600
alpha 3:left 2,200 :top 3,600


MousePosition(num%,xpos%,ypos%,wpos%,hpos%)
end

sub MousePosition("ClickDefineRect",num%,xpos%,ypos%,wpos%,hpos%)
    KGF_res% = dll_call5("ClickDefineRect",num%,xpos%,ypos%,wpos%,hpos%)

caption 1,"Xpos =("+str$(xpos%)+")"
caption 2,"Ypos =("+str$(ypos%)+")"

end_sub
merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect   Sam 6 Avr 2013 - 0:54

Tes variables ne sont pas initialisées, la fonction est utilisée hors contexte. Je te conseille vivement de regarder en détail le poste que j'ai posté ci-dessus.

Je crois avoir compris ce que tu veux faire: afficher la position x,y de la souris lorsqu'elle se déplace dans ton picture numéro 1. J'ai donc modifié ton source afin qu'il puisse te servir de tuto pour utiliser ces fonctions. Mais encore une fois, regarde bien le code posté ci-dessus, et regarde surtout la doc dans KGF.chm - elle est complète !

Voici donc ton source adapté en tuto:
Code:
' === les labels des routines évènements
'    qui sont déclenchées par la surveillance du rectangle
label mouse_enter_rect, mouse_exit_rect, mouse_move_rect

' === variables internes
dim x%, y%, r%, p%, s$

' === les objets imposés:
'    1 = picture à surveiller
'    2 = alpha pour recevoir la coordonnée x
'    3 = alpha pour recevoir la coordonnée y
height 0,800
picture 1
width 1,500
height 1,500
rem visualise le fichier bitmap

alpha 2 :top 2,600
alpha 3:left 2,200 :top 3,600

' === objet supplémentaire pour signaler le type de l'action
alpha 4 : left 4,100 : top 4,620

' === ouverture de KGF.dll
KGF_initialize("KGF.dll")

' === les objets techniques nécessaires pour la surveillance
'    (ces objets sont tous invisibles)
'    102 = EDIT recevant les coordonnées de la souris au format x,yRn
'    202 = bouton dont l'évènement signale "entrée dans le rectangle"
'    302 = bouton dont l'évènement signale "sortie du rectangle"
'    402 = bouton dont l'évènement signale "déplacement dans le rectangle"
edit 102 : hide 102
button 202 :hide 202 : on_click 202,mouse_enter_rect
button 302 :hide 302 : on_click 302,mouse_exit_rect
button 402 :hide 402 : on_click 402,mouse_move_rect

' === céer le lien qui établit la surveillance du rectangle
'    surveillance de l'objet 0 (form 0) avec lien vers le edit 102
ClickSetHook(0,102)

' === création du rectangle numéro 1 recouvrant exactement le picture 1
ClickDefineRect(1,left(1),top(1),width(1),height(1))

' === création des liens pour les 3 types d'évènement
'    entrée, sortie, déplacement
ClickSetLinkRect(202,5,1)
ClickSetLinkRect(302,6,1)
ClickSetLinkRect(402,7,1)

end

' === routines évènements pour les 3 évènements
'    pour la démo, elles sont toutes identiques.
'    mais on peut évidemment faire des actions différentes
'    pour chacun de ces évènements
'    On prend le contenu de l'objet 102 (format x,yRn)
'    et on extrait les valeurs pour les coordonnées x et y
'    ainsi que le numéro du rectangle n (qui doit être 1 dans notre cas)
mouse_enter_rect:
  caption 4,"Entrée"
  s$ = text$(102)
  p% = instr(s$,"R")
  r% = mid$(s$,p%+1,len(s$))
  s$ = left$(s$,p%-1)
  p% = instr(s$,",")
  x% = val(left$(s$,p%-1))-left(r%)
  y% = val(mid$(s$,p%+1,len(s$)))-top(r%)
  caption 2,str$(x%)
  caption 3,str$(y%)
  return

mouse_exit_rect:
  caption 4,"Sortie"
  s$ = text$(102)
  p% = instr(s$,"R")
  r% = mid$(s$,p%+1,len(s$))
  s$ = left$(s$,p%-1)
  p% = instr(s$,",")
  x% = val(left$(s$,p%-1))-left(r%)
  y% = val(mid$(s$,p%+1,len(s$)))-top(r%)
  caption 2,str$(x%)
  caption 3,str$(y%)
  return

mouse_move_rect:
  caption 4,"Déplacement"
  s$ = text$(102)
  p% = instr(s$,"R")
  r% = mid$(s$,p%+1,len(s$))
  s$ = left$(s$,p%-1)
  p% = instr(s$,",")
  x% = val(left$(s$,p%-1))-left(r%)
  y% = val(mid$(s$,p%+1,len(s$)))-top(r%)
  caption 2,str$(x%)
  caption 3,str$(y%)
  return

#INCLUDE "KGF_SUB.bas"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

Nombre de messages : 548
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: 2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect   Sam 6 Avr 2013 - 8:35

merci klaus
je vais mettre en pratique ton source
bon w-end
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 548
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: 2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect   Sam 6 Avr 2013 - 9:16

j'ai testé aussitôt ton source que tu ma donné
il fonctionne pas si bien parce que les coordonnés
ne sont pas en temps réel alors j'ai remis en
pratique ta démo. hier il fonctionnais a merveille
et là ce matin c'est la quata voici ce que ça donne
des que ma souris est dans un picture il laisse des trainés
et il n'est plus en temps réel comme si il y avait besoin d'un temps de réflexion!!



voyant ça j'ai redémarré mon ordi a chaud et le resulta est le même
c'est peut être mon ordi qui déconne va savoir
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect   Sam 6 Avr 2013 - 10:43

Dans ma démo, je dessine ces traces exprès, en traçant un petit cercle autour de chaque position de souris reçue par la surveillance. L'image d'écran que tu as postée, est tout-à-fait normale et témoigne du bon fonctionnement du programme.

Mais:

Ce qu'il faut bien comprendre, c'est la nature d'un objet picture de Panoramic. D'ailleurs, un objet alpha est dans la même situation. Contrairement aux objets tels que list, memo, button etc, ces deux objets ne sont pas des objets Windows (ils n'ont pas de handle !!!!!!), mais sont, ce qu'on appelle des "objets non fenêtrés". Je me suis déjà exprimé plusieurs fois, sur ce forum, sur les particularités de ces objets, mais je vais rappeler l'essentiel ici.

Les objets non fenêtrés sont dessinés, non pas par Windows, mais par le programme lui-même. Et dans le cas d'un programme Panoramic, c'est l'interpréteur de Panoramic qui fait ce travail, à chaque modification de l'apparence d'un tel objet. Et dans le cas d'un picture, cela signifie que pour chaque modification, l'image entière du picture doit être redessinée. Or, cela prend du temps. Et comme cela se passe à l'intérieur d'une routine déclenchée par un évènement, cela donne l'impression d'un décalage entre le moment où a lieu l'évènement (déplacement de la souris) et la réaction (apparition de la trace dessinée).

Les évènements des autres objets sont traités par Windows, avec une mise en file d'attente très éfficace. D'ailleurs, dans mon programme de démo (celui qui dessine les traces dans les deux pictures), observe le titre de la fenêtre (caption de la form 0), ainsi que les deux edit affichés en bas à gauche. Tu peux voir que la position de la souris est affichée sans décalage, immédiatement, en réaction à un mouvement de la souris. C'est parce que l'affichage est effectué par Windows, immédiatement, et cela ne prend pas beaucoup de temps. L'affichage de la trace dans un picture est fait par Panoramic, mais seulement lorsque toutes les actions gérées par Windows ont été effectuées. De plus, chaque petit rond affiché représente un réaffichage complet du picture.

J'espère que tu y vois un peu plus clair maintenant. Le programme de démo fonctionne, et ton système n'est pas en cause. J'ai choisi d'afficher une trace dans les picture, un peu pour m'amuser, mais pas à cause d'une utilité réelle. C'est juste un exemple de ce que l'on peut faire lorsque l'on reçoit un tel évènement. Tu peux faire n'importe quoi, à la place, mais garde bien à l'esprit que tu te trouves dans une routine qui s'exécute pour traiter un évènement Windows, et ton code devrait s'exécuter le plus rapidement possible afin de redonner la main à Windows pour pouvoir gérer les évènements suivants.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

Nombre de messages : 548
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: 2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect   Sam 6 Avr 2013 - 12:19

OK alors si j'ai bien compris c'est peut être pour ça que
l'effet de la souris est saccadé et quand aux petit carré
qui se dessine! ils ne se sont pas dessinée hier lorsque
j'ai essayé ton code source c'est ce qui ma intrigué ce
matin je vais le retesté et je te tien au courant des
évènements
bon sur ça je repart dans mon projet qui est super long
et qui traine depuis plusieurs jours

allez bonne journée
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 6 Avr 2013 - 20:20

@ Klaus,

Voilà mon bidouillage pour arriver à une procédure unique... Laughing
Code:
Constantes()
Variables()
Labels()


O_Form(0,0,1,0,0,300,500,"O_Button_Picture")
O_Button_Picture(10,0,1,0,0,100,100)

End
' ------------------------------------------------------------------------------
Sub Constantes()
  Dim Path$ : Path$=Dir_current$+"\"
  Dim KGF$  : KGF$ =Path$+"KGF.dll":Dll_On KGF$
End_Sub
' ------------------------------------------------------------------------------
Sub Variables()
  Dim Clic%
End_Sub
' ------------------------------------------------------------------------------
Sub Labels()
  Label Clic
End_Sub
' ------------------------------------------------------------------------------
Sub O_Button_Picture(No%,P%,V%,T%,L%,H%,W%)
  if variable("Survey%")=0 then dim Survey%
  O_Picture(No%,P%,V%,T%,L%,H%,W%,""):On_click No%,Clic:cursor_point 10
  O_Edit(No%+7000,P%,0,-200,-200,0,0)
  if Survey%=0
      Survey%=1
      If Variable("KGF_res%")=0 then dim KGF_res%
      KGF_res% = dll_call2("ClickSetHook",handle(P%),handle(No%+7000))
  End_if
  O_Button(No%+7001,P%,0,-200,-200,0,0,"",1)
  O_Button(No%+7002,P%,0,-200,-200,0,0,"",1)
  O_Button(No%+7003,P%,0,-200,-200,0,0,"",1)
  KGF_res% = dll_call5("ClickDefineRect",No%,T%,L%,W%,H%)
  KGF_res% = dll_call3("ClickSetLinkRect",handle(No%+7001),0-5,No%)
  KGF_res% = dll_call3("ClickSetLinkRect",handle(No%+7002),0-6,No%)
  KGF_res% = dll_call3("ClickSetLinkRect",handle(No%+7003),0-7,No%)
End_Sub
' ------------------------------------------------------------------------------

Clic:
  Clic%=Number_Click
  Select Clic%
      case 10  :color 10,0,0,0
      Case 7011 :color 10,255,0,0
      case 7012 :color 10,0,255,0
      case 7013 :color 10,0,0,255
  End_Select
return

#include "Objet_Lib.bas"

Ma librairie qui va avec ... (sinon c'est pas drôle Laughing )
Code:
' Objet FORM____________________________________________________________________
Sub O_Form(No%,P%,V%,T%,L%,H%,W%,C$)
  if No%> 0 then FORM No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 : Top No%,T% : Else : Top No%,(Screen_y-H%)/2 : End_If
  If L% > 0 : Left No%,L%: Else : Left No%,(Screen_x-W%)/2: End_If
  if C$<>"" then Caption No%,C$
End_Sub
' Objet ALPHA___________________________________________________________________
Sub O_Alpha(No%,P%,V%,T%,L%,H%,W%,C$)
  ALPHA No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet EDIT____________________________________________________________________
Sub O_Edit(No%,P%,V%,T%,L%,H%,W%)
  EDIT No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet BUTTON__________________________________________________________________
Sub O_Button(No%,P%,V%,T%,L%,H%,W%,C$,Cl%)
  BUTTON No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
  if Cl%> 0 then on_click No%,Clic
  cursor_point No%
End_Sub
' Objet GRID____________________________________________________________________
Sub O_Grid(No%,P%,V%,T%,L%,H%,W%)
  GRID No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet CONTAINER_______________________________________________________________
Sub O_Container(No%,P%,V%,T%,L%,H%,W%,C$)
  CONTAINER No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet SCENE3D_________________________________________________________________
Sub O_Scene3D(No%,P%,V%,T%,L%,H%,W%)
  SCENE3D No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%

End_Sub
' Objet MEMO____________________________________________________________________
Sub O_Memo(No%,P%,V%,T%,L%,H%,W%)
  MEMO No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet COMBO___________________________________________________________________
Sub O_Combo(No%,P%,V%,T%,L%,H%,W%)
  COMBO No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet LIST____________________________________________________________________
Sub O_List(No%,P%,V%,T%,L%,H%,W%,F$)
  LIST No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if F$<>""
  if file_exists F$ then file_load No%,F$
  end_if
End_Sub
' Objet PICTURE_________________________________________________________________
Sub O_Picture(No%,P%,V%,T%,L%,H%,W%,P$)
  PICTURE No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if P$<>"" then File_load No%,P$
End_Sub
' Objet CHECK___________________________________________________________________
Sub O_Check(No%,P%,V%,T%,L%,H%,W%,C$)
  CHECK No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet OPTION__________________________________________________________________
Sub O_Option(No%,P%,V%,T%,L%,H%,W%,C$)
  OPTION No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet MAIN_MENU_______________________________________________________________
Sub O_Main_Menu(No%,P%)
  MAIN_MENU No%
  if P% > 0 then Parent No%,P%
End_Sub
' Objet SUB_MENU________________________________________________________________
Sub O_Sub_Menu(No%,P%,C$,Cl%,A%)
  SUB_MENU No%
  if P% > 0 then Parent No%,P%
  if C$<>"" then Caption No%,C$
  If Cl%=1 : on_click No%,Clic  : end_if
  If Cl%=2 : on_click No%,Clic2 : end_if
  If Cl%=3 : on_click No%,Clic3 : end_if
  If Cl%=4 : on_click No%,Clic4 : end_if
  If A%=0 then inactive No%
End_Sub
' Objet SOUND___________________________________________________________________
Sub O_Sound(No%,P%,S$)
  SOUND No%
  If P%>0 then Parent No%,P%
  If S$<>"" then file_load No%,S$
End_Sub
' Objet MOVIE___________________________________________________________________
Sub O_Movie(No%,P%,V%,T%,L%,H%,W%,M$)
  MOVIE No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if M$<>"" then file_load No%,M$
End_Sub
' Objet TRACK_BAR_______________________________________________________________
Sub O_Track_Bar(No%,P%,V%,T%,L%,H%,W%)
  TRACK_BAR No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet OPEN_DIALOG_____________________________________________________________
Sub O_Open_Dialog(Out%,Filtre$,O%)
  dim_local No%,F$
  No%=Number_objects+1
  OPEN_DIALOG No%
  if filtre$<>"" then Filter No%,Filtre$
  F$=File_name$(No%)
  if variable("File$")=0:Dim File$:End_If
  if F$<>"_"
      if O%=1 then text out%,F$
      if O%=2 then Caption Out%,F$
      if O%=3 then item_add Out%,F$
      if O%=4 then file_load Out%,F$
      if O%=5 then File$=F$
  end_if
  Delete No%
End_Sub
' Objet SAVE_DIALOG_____________________________________________________________
' Sub O_Save_Dialog(Filtre$)
'  dim_local No%,F$
'  No%=Number_objects+1
'  SAVE_DIALOG No%
'  if filtre$<>"" then Filter No%,Filtre$
'  F$=file_name$(No%)
' End_Sub
' Objet SCROLL_BAR______________________________________________________________
Sub O_Scroll_Bar(No%,P%,V%,T%,L%,H%,W%)
  SCROLL_BAR No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet PROGRESS_BAR____________________________________________________________
Sub O_Progress_Bar(No%,P%,V%,T%,L%,H%,W%)
  PROGRESS_BAR No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet SPIN____________________________________________________________________
Sub O_Spin(No%,P%,V%,T%,L%,H%,W%)
  SPIN No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet DLIST___________________________________________________________________
Sub O_Dlist(No%,F$)
  DLIST No%
  if F$<>"" then file_load No%,F$
End_Sub
' Objet SCENE2D_________________________________________________________________
Sub O_Scene2D(No%,P%,V%,T%,L%,H%,W%)
  SCENE2D No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
End_Sub
' Objet TIMER___________________________________________________________________
Sub O_Timer(No%,OO%,Inter%)
  TIMER No%
  if OO%=1 then timer_on No%
  if OO%=0 then timer_off No%
  if inter%>0 then timer_interval No%,inter%
End_Sub
' Objet CONTAINER_OPTION________________________________________________________
Sub O_Container_Option(No%,P%,V%,T%,L%,H%,W%,C$)
  CONTAINER_OPTION No%
  if P% > 0 then Parent No%,P%
  If V% = 0 Then hide No%
  If H% > 0 Then Height No%,H%
  If W% > 0 Then Width No%,W%
  If T% > 0 Then Top No%,T%
  If L% > 0 Then Left No%,L%
  if C$<>"" then Caption No%,C$
End_Sub
' Objet IMAGE___________________________________________________________________
Sub O_Image(No%,I$)
  if I$<>"" then file_load No%,I$
End_Sub
' Objet Statut_Bar______________________________________________________________
Sub O_Statut_Bar(P%,R%,G%,B%,R1%,G1%,B1%,T$)
  Dim_local No%,x%,a%
  No%=Number_Objects+1
  For x%=1 To Number_Objects :If Object_Type(x%)=13 :a%=1:End_If:Next x%
  If a%=0
      O_Picture(No%,P%,1,Height(P%)-58,0,20,Width(P%)-16,"")
      O_Alpha(No%+1,0,1,Height(P%)-55,10,0,0,T$)
  Else
      O_Picture(No%,P%,1,Height(P%)-78,0,20,Width(P%)-16,"")
      O_Alpha(No%+1,0,1,Height(P%)-75,10,0,0,T$)
  End_If
  Color No%,R%,G%,B% :2d_target_is No% :2d_pen_color R1%,G1%,B1%
  For x%=1 to Width(P%)-16:2d_point x%,0 :Next x%
  Color No%+1,R%,G%,B%:font_name No%+1,"Arial":Font_color No%+1,0,0,255
  if Variable("OSB%")=0 then Dim OSB%
  OSB%=No%+1
End_Sub
' Objet Statut_Bar2_____________________________________________________________
Sub O_Statut_Bar2(No%,P%,V%,M%)
  Dim_Local No2% ,x% ,a% ,Pa%,OSB2%
  No%=Number_Objects+1 :Pa%=P% :No2%=No%
  for x%=1 to Number_Objects:If Object_Type(x%)=13 :a%=1:End_If:Next x%
  If M%=0
      O_Picture(No2%,P%,V%,Height(P%)-61,0,23,width(P%)-16,"")
  Else
      O_Picture(No2%,P%,V%,Height(P%)-81,0,23,width(P%)-16,"")
  End_If
  OSB2%=No2%
  Adaptation_OSB(No2%,Pa%)
End_Sub

Sub Adaptation_OSB(No%,P%)
  Dim_Local x% ,y% ,z% ,t$ ,R_osb% ,G_osb% ,B_osb%
  color No%,235,235,239 : y%=width(P%)-27
  Restore
  while t$<>"OSB_Corps.bmp" :read t$:End_while
  Read R_osb% :Read G_osb% :Read B_osb%
  2d_target_is No% : 2d_pen_color R_osb%,G_osb%,B_osb%
  for x%=0 to y% :2d_point x%,z% :next x%
  Restore
  while t$<>"OSB_Fin.bmp" :read t$:End_while
  for x%=y% to y%+10
      for z%=0 to 22
        Read R_osb% :Read G_osb% :Read B_osb%
        2d_target_is No% : 2d_pen_color R_osb%,G_osb%,B_osb%
        2d_point x%,z%
      next z%
  next x%
End_Sub
' Data du Statut_Bar2___________________________________________________________
Data "OSB_Corps.bmp"
data 170,165,162
data "OSB_Fin.bmp"
data 170,165,162
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 242,239,239
data 239,235,235
data 239,235,235
data 170,165,162
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 242,239,239
data 170,165,162
data 239,235,235
data 239,235,235
data 170,165,162
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 242,239,239
data 170,165,162
data 170,165,162
data 239,235,235
data 239,235,235
data 170,165,162
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 242,239,239
data 239,235,235
data 239,235,235
data 242,239,239
data 239,235,235
data 239,235,235
data 170,165,162
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 242,239,239
data 170,165,162
data 239,235,235
data 242,239,239
data 170,165,162
data 239,235,235
data 239,235,235
data 170,165,162
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 242,239,239
data 170,165,162
data 170,165,162
data 242,239,239
data 170,165,162
data 170,165,162
data 239,235,235
data 239,235,235
data 170,165,162
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 242,239,239
data 239,235,235
data 239,235,235
data 242,239,239
data 239,235,235
data 239,235,235
data 242,239,239
data 239,235,235
data 239,235,235
data 170,165,162
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 242,239,239
data 170,165,162
data 239,235,235
data 242,239,239
data 170,165,162
data 239,235,235
data 242,239,239
data 170,165,162
data 239,235,235
data 239,235,235
data 170,165,162
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 242,239,239
data 170,165,162
data 170,165,162
data 242,239,239
data 170,165,162
data 170,165,162
data 242,239,239
data 170,165,162
data 170,165,162
data 239,235,235
data 239,235,235
data 170,165,162
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 170,165,162
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235
data 239,235,235

Alooorrs là !...je suis Sad pas de couleur rouge...snifff!.....

Une petite remarque sur KGF.chm

Il y a eu un petit mélange entre les deux "ClickDefineRect" et "ClickSetLinkRect"
qui m'a fait bouillir les neurones 5 minutes, j'étais un peu pommé... Laughing


Edit : Sur cette procédure j' en viens à comprendre ton intérêt pour des variables dynamiques Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect   Sam 6 Avr 2013 - 21:54

Je ne comprends pas où est la confusion dans la doc, concernant ces deux fonctions. Tout me semble absolument correct. Pourrais-tu développer un peu ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 6 Avr 2013 - 21:59



Ai je bien développé ?.... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect   Sam 6 Avr 2013 - 23:15

Merci, Ygeronimi !Cela m'avait totalement échappé. Voilà ce que c'est que de faire des copier/coller...

Mais c'est corrigé. Encore merci pour ton attention !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 7 Avr 2013 - 3:29

De rien Klaus,

De mon côté j'ai amélioré mon bidouillage pour un "Image_Button".
Le seul souci actuel c'est la création de deux boutons supplémentaires
à chaque appel.

C' est sur mon webdav "Sources\Objet_Lib\O_Button_Picture.zip"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: 2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect   

Revenir en haut Aller en bas
 
2.10/2.11 du 2 Avril 2013: ajout fonction ClickDefineRect
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: