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
» Compilateur FBPano
par jean_debord Aujourd'hui à 10:54

» demande pour recuperer un text speciale
par pascal10000 Hier à 22:04

» Casse-tête : Echanger les positions des cavaliers
par papydall Hier à 19:51

» KGF_dll - nouvelles versions
par Klaus Hier à 14:29

» Amélioration de la commande HINT
par papydall Mer 19 Juil 2017 - 3:30

» TEST SUR SHAPE
par papydall Mer 19 Juil 2017 - 1:17

» Un challenge à relever
par papydall Mar 18 Juil 2017 - 21:25

» Astuce : Indenter plusieurs lignes de code à la fois
par papydall Mar 18 Juil 2017 - 1:32

» Suggestion pour le forum
par papydall Lun 17 Juil 2017 - 20:28

» Truver les handles des onglets de Panoramic Editor
par Klaus Lun 17 Juil 2017 - 18:20

» Synedit_Editor - nouvelles versions
par Klaus Lun 17 Juil 2017 - 13:46

» Détermine si oui ou non un objet est PARENT d'un autre objet
par Klaus Dim 16 Juil 2017 - 11:58

» Une autre façon de terminer une application.
par papydall Dim 16 Juil 2017 - 3:53

» Déterminer le Handle de l’objet ayant le focus
par papydall Dim 16 Juil 2017 - 3:15

» Déterminer le HANDLE du Bureau
par papydall Dim 16 Juil 2017 - 1:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2017
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
31      
CalendrierCalendrier

Partagez | 
 

 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2, 3  Suivant
AuteurMessage
Klaus

avatar

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

MessageSujet: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Lun 8 Avr 2013 - 1:26

Nouvelle version:
KGF.dll V2.13 du 8/4/2013

Correction d'un bug avec ClickSetLinkRect: lorsqu'on déclarait plusieurs rectangles sur un même container, ils n'étaient pas toujours différenciés.

Modules modifiés:
KGF.dll

Aucun changement dans la documentation.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Lun 8 Avr 2013 - 12:00

Avec cette version, j'ai repris le premier programme de démo "test_mouse_over.bas". J'ai supprimé le besoin du fichier mouse_over_SUB.bas qui n'a plus d'objet, maintenant? Du coup, il n'y a plus de timer du tout, dans ce programme. Et pourtant, je fais la surveillance d'une list avec changement d'état à l'entrée et la sortie, ainsi que la sélection automatique de la ligne survolée, sans cliquer.

Cette version est test_mouse_over_quater.bas:
Code:
' test_mouse_over_quater.bas

label changer_type
label alpha_1_in, alpha_1_out
label edit_2_in, edit_2_out
label container_10_in, container_10_out
label alpha_11_in, alpha_11_out
label memo_12_in, memo_12_out
label alpha_13_in, alpha_13_out
label edit_14_in, edit_14_out
label list_15_in, list_15_out, list_15_move

dim res%

' === définition de quelques objets dont le survol est contrôlé
alpha 1 : top 1,10 : left 1,10 : caption 1,"Votre nom:"
edit 2 : top 2,10 : left 2,90 : width 2,200
container 10 : top 10,40 : left 10,10 : caption 10,"Fiche personnelle"
  width 10,400 : height 10,300
alpha 11 : parent 11,10 : top 11,20 : left 11,10 : caption 11,"Adresse:"
memo 12 : parent 12,10 : top 12,20 : left 12,80
  width 12,200 : height 12,50
alpha 13 : parent 13,10 : top 13,80 : left 13,10 : caption 13,"Numéro SS:"
edit 14 : parent 14,10 : top 14,80 : left 14,80 : width 14,200
list 15 : top 15,10 : left 15,430 : height 15,400
item_add 15,"aaaaaa"
item_add 15,"bbbbbb"
item_add 15,"cccccc"
check 17 : top 17,360 : left 17,10 : caption 17,"Sélection dans liste par glissement"
  width 17,250 : mark_on 17

' edit pour les coordonnées de l'évènement
edit 1000 : hide 1000
' boutons pour les évènements
button 1015 : hide 1015 : on_click 1015,alpha_1_in
button 1016 : hide 1016 : on_click 1016,alpha_1_out
button 1025 : hide 1025 : on_click 1025,edit_2_in
button 1026 : hide 1026 : on_click 1026,edit_2_out
button 1105 : hide 1105 : on_click 1105,container_10_in
button 1106 : hide 1106 : on_click 1106,container_10_out
button 1115 : hide 1115 : on_click 1115,alpha_11_in
button 1116 : hide 1116 : on_click 1116,alpha_11_out
button 1125 : hide 1125 : on_click 1125,memo_12_in
button 1126 : hide 1126 : on_click 1126,memo_12_out
button 1135 : hide 1135 : on_click 1135,alpha_13_in
button 1136 : hide 1136 : on_click 1136,alpha_13_out
button 1145 : hide 1145 : on_click 1145,edit_14_in
button 1146 : hide 1146 : on_click 1146,edit_14_out
button 1155 : hide 1155 : on_click 1155,list_15_in
button 1156 : hide 1156 : on_click 1156,list_15_out
button 1157 : hide 1157 : on_click 1157,list_15_move

KGF_initialize("KGF.dll")

' rectangle 1: objet alpha 1
DefineMouseOverRect(0,1015,1000,5,1,left(1),top(1),width(1),height(1))
DefineMouseOverRect(0,1016,1000,6,1,left(1),top(1),width(1),height(1))

' objet edit 2
DefineMouseOver(2,1025,1000,5)
DefineMouseOver(2,1026,1000,6)

' objet container 10
DefineMouseOver(10,1105,1000,5)
DefineMouseOver(10,1106,1000,6)

' rectangle 2: objet alpha 11
DefineMouseOverRect(10,1115,1000,5,2,left(11),top(11),width(11),height(11))
DefineMouseOverRect(10,1116,1000,6,2,left(11),top(11),width(11),height(11))

' objet memo 12
DefineMouseOver(12,1125,1000,5)
DefineMouseOver(12,1126,1000,6)

' rectangle 3: objet alpha 13
DefineMouseOverRect(10,1135,1000,5,3,left(13),top(13),width(13),height(13))
DefineMouseOverRect(10,1136,1000,6,3,left(13),top(13),width(13),height(13))

' objet edit 14
DefineMouseOver(14,1145,1000,5)
DefineMouseOver(14,1146,1000,6)

' objet list 15
DefineMouseOver(15,1155,1000,5)
DefineMouseOver(15,1156,1000,6)
' DefineMouseOver(15,1157,1000,7)
' DefineMouseOverRect(15,1155,1000,5,4,0,0,width(15),height(15))
' DefineMouseOverRect(15,1156,1000,6,4,0,0,width(15),height(15))
DefineMouseOverRect(15,1157,1000,7,4,0,0,width(15),height(15))
' DefineMouseOverRect(0,1155,1000,5,4,left(15),top(15),width(15),height(15))
' DefineMouseOverRect(0,1156,1000,6,4,left(15),top(15),width(15),height(15))
' DefineMouseOverRect(0,1157,1000,7,4,left(15),top(15),width(15),height(15))

end



changer_type:
  mouse_over_type(checked(16))
  return
 
alpha_1_in:
  font_bold 1 : font_color 1,255,0,0
  return

alpha_1_out:
  font_bold_off 1 : font_color 1,0,0,0
  return
 
edit_2_in:
  color 2,255,200,200
  return
 
edit_2_out:
  color 2,255,255,255
  return
 
container_10_in:
  font_size 10,12
  return
 
container_10_out:
  font_size 10,8
  return

alpha_11_in:
  font_bold 11 : font_color 11,255,0,0
  return

alpha_11_out:
  font_bold_off 11 : font_color 11,0,0,0
  return

memo_12_in:
  color 12,255,200,200
  return

memo_12_out:
  color 12,255,255,255
  return

alpha_13_in:
  font_bold 13 : font_color 13,255,0,0
  return

alpha_13_out:
  font_bold_off 13 : font_color 13,0,0,0
  return

edit_14_in:
  color 14,255,200,200
  return

edit_14_out:
  color 14,255,255,255
  return

list_15_in:
  color 15,255,200,200
  return

list_15_out:
  color 15,255,255,255
  return
 
list_15_move:
  GetMousePosition(handle(0))
  GetListBoxItemFromPoint(15,GetMousePositionX%, GetMousePositionY%)
  if GetListBoxItemFromPoint>0
    SelectListBoxItem(handle(15),GetListBoxItemFromPoint)
  end_if
  return

' cette procédure est appelée chaque fois que le curseur entre
' dans un des objets surveillés, ou sur la form 0
' flag%=1 ==> on est dans la form
' flag%=0 ==> on est en-dehors de la form
sub on_mouse_over(flag%,obj%)
  if flag%=1
    caption 99,str$(mouse_over_x%)+","+str$(mouse_over_y%)+"  sur objet "+str$(obj%)+"  "+str$(mouse_over_n%)
' à titre d'exemple, on va interdire l'entrée dans le champ "adresse"
' (objet 12) si le nom est vide (objet 2)
    if obj%=12
      if trim$(text$(2))=""
        MousePosition(left(12)+width(12)+left(10)+10,top(12)+top(10)+10)
      end_if
    end_if
    if object_type(obj%)=8
      GetListBoxItemFromPoint(obj%,mouse_over_x%, mouse_over_y%)
      if GetListBoxItemFromPoint>0
        if checked(17)=1 then SelectListBoxItem(handle(obj%),GetListBoxItemFromPoint)
      end_if
      caption 99,str$(mouse_over_x%)+","+str$(mouse_over_y%)+"  sur objet "+str$(obj%)+"  "+str$(mouse_over_n%)+"  item "+str$(GetListBoxItemFromPoint)
    end_if
  else
    caption 99,"Sorti"
  end_if
  GetObjectHandleUnderCursor()
  caption 98,"Handle: "+str$(GetObjectHandleUnderCursor)
end_sub

' 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"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5841
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Lun 8 Avr 2013 - 13:11

Bon, ben du coup je vais lire la doc et sans doute m'en servir pour les menus de barbarian, ce sera plus propre et simple qu'avec mon timer.
Merci Klaus
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Lun 8 Avr 2013 - 14:56

bjr klaus
ta librairie kfg.dll doit y avoir un bug

parce-que dès que je veut ouvrir une image
un message d'erreur s'annonce mais pas a toutes

pourquoi et je m'en suis rendu compte la plupars des image
font (1024X1830) et la sa va et avec l'une qui fait (1024X2200)
là sa bloque!



voila c'est peut être une erreur ou bien la librairie est limitée
pour ce genre d'opération pour retenir les dimensions des images


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

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Lun 8 Avr 2013 - 15:40

?????

Donne-moi plus d'information: poste le code que tu utilises pour accéder à l'image. Pour l'image, c'est pas la peine: j'utilise des images qui sont largement plus grandes que celle que tu veux utiliser.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Lun 8 Avr 2013 - 17:33

voici le code de chargement de l'image



Code:
' =====================================================
'                ouvrir le Bitmap
' =====================================================
if clicked(101)=1
clear 20:gosub Nouveau
filter 10,"Figure Virtual DJ|*.bmp*"
' dossier par defaut
dir_dialog 10,"C:\Users\pascal\Documents\VirtualDJ\Skins"
dessin$=file_name$(10)
' si aucun choix n'est fait alors retourne
if dessin$="_" then return
' retien le non du dossier
dossier$=dir_current$
' retien le non du du projet bmp
dessin$=file_extract_name$(dessin$)
' enregistre ses dimention
des_res% = dll_call3("AnalyzeImageFile",adr(dessin$),adr(picwidth%),adr(picheight%))
idwidth%=picwidth%
idheight%=picheight%
width 3,picwidth%:height 3,picheight%
show 3
2d_target_is 3
2d_clear
file_load 3,dessin$
end_if
 caption 2,"Figurine: "+dessin$+"  "+str$(picwidth%)+"X"+str$(picheight%)
 caption 26,"00%"

position 25,5
xmou%=0:ymou%=0:pourcent%=0
 caption 2,"Figurine: "+dessin$+"  "+str$(picwidth%)+"X"+str$(picheight%)
 caption 26,"00%"


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

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Lun 8 Avr 2013 - 19:19

Le problème doit venir de ton fichier, celui que tu essaies d'ouvrir et qui ne marche pas.

Voici ce que j'ai constaté:

1. d'accord, c'est un détail, mais ta commande FILTER contient certainement une étoile en trop:
Code:
filter 10,"Figure Virtual DJ|*.bmp*"
Si jamais tu essaies d'ouvrir un fichier du "genre test.bmps", le programme ne pourra pas fonctionner, car il utilise de façon interne l'extension pour déterminer le type de fichier. Donc, fais ton filtre de la manière suivante:
Code:
filter 10,"Figure Virtual DJ|*.bmp"
et fais de sorte que tous les fichiers soient bien des *.BMP et pas autre chose

2. j'ai extrait la partie essentielle de ton code, et je l'ai entouré des lignes nécessaires pour le faire tourner chez moi. Voici ce que ça donne:
Code:

label ouvrir
dim picwidth%, picheight%, des_res%, dessin$, dossier$
open_dialog 10

dll_on "KGF.dll"

filter 10,"Figure Virtual DJ|*.*"
button 20 : top 20,30 : left 20,30 : caption 20,"Ouvrir" : on_click 20,ouvrir
end

ouvrir:
' dossier par defaut
dir_dialog 10,"C:\Documents and Settings\Klaus\Mes documents\Mes photos\Fleurs\Clématite"
dessin$=file_name$(10)
' si aucun choix n'est fait alors retourne
if dessin$="_" then return
' retien le non du dossier
dossier$=dir_current$
' retien le non du du projet bmp
dessin$=file_extract_name$(dessin$)
' enregistre ses dimention
des_res% = dll_call3("AnalyzeImageFile",adr(dessin$),adr(picwidth%),adr(picheight%))
message dessin$+"  Largeur="+str$(picwidth%)+"  hauteur="+str$(picheight%)
return
J'ai changé le répertoire pour tomber dans un dossier de photos chez moi. J'ai ouvert une photo, et voici le résultat:

Comme tu peux voir, le problème que tu rencontres n'est pas lié à la taille du fichier ! Essaie de modifier ton image et de la réenregistrer - cela aura une chance de passer. Ce qui est certain, c'est que le problème vient de ton fichier.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Lun 8 Avr 2013 - 19:29

d'accord je vais l'ouvrir avec "paint" c'est peut être l' extension qui n'est pas bon
par rapport au fichier lui même, peut être que c'est un jpg ou autre au lieu d'un bitmap
réel
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Lun 8 Avr 2013 - 19:55

tu avait tout a fait raison les extensions ne correspondaient pas
je l'ai ouvert avec paint et faire une sauvegarde en bmp et cela a
bien fonctionné. il ne faut pas grand chose pour avoir des problèmes
comme ça! l'informatique c'est autant capricieux que l' électricité!
merci en tout cas
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Lun 8 Avr 2013 - 20:24

Pas de problème. C'est un plaisir de rendre service.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Lun 8 Avr 2013 - 21:26

Bonsoir,
Je suis un peu surpris par ce que je lis.
Moi-même avec cette fonction de la dll, j'avais eu un message de ce type, il y a quelque mois, mais je ne suis pas intervenu car j'avais déjà fait cette recherche de la dimension d'une image en Panoramic, et cela fonctionnait bien. Il s'agissait de Pagiciel.

Je constate que vous ne parlez que du format BMP. C'est quand même une surprise, et en allant voir l'aide sur picture, file_load, etc, on ne voit plus que le format bmp pour un picture.

Or il fut un temps, où on pouvait charger un fichier jpg. J'ai pas fait l'essais ici, je suis trop pris sur autre chose, surtout que je programme, uniquement pendant mes moments de fatigue (ce qui ne facilite pas mes performances).

Voici par exemple je que j'ai noté:
Jack a écrit:
il est possible de dessiner sur une image JPG chargée dans un PICTURE.
. C'est ici:
http://panoramic.free-boards.net/t579-panoramic-v-0917.

Y aurait-il eu une restriction et laissé de côté le format jpg.
Je ne me souvient pas d'avoir vu passé cette remarque.

J'ai fait plus d'un programme avec du travail sur une image jpg, d'autant que jje suis obligé de faire une conversion en bmp, si je dois utiliser ce format.

Je viens de charger une image jpg, et ça fonctionne encore. Quand à la sauvegarde, cela doit-être uniquement en bmp je crois.
Il me semblait que la dll pouvait lire différents formats.
Revenir en haut Aller en bas
Klaus

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Lun 8 Avr 2013 - 21:53

Avec le code que je viens de poster, tu peux ouvrir indifféremment des BMP et des JPG. Essaie. Il plein d'autres formats aussi.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Mar 9 Avr 2013 - 0:12

AU SECOURS KLAUS !!!!

J'ai écris ceci

j'ai trois bouton_Picture consécutifs, quand je passe sur les deux premiers le "in" fonctionne mais pas le "out"
celà fonctionne seulement sur le troisième.

Et je ne vois pas pourquoi scratch
Code:
Constantes()
Variables()
Labels()
Interface()
Init()

On_close 0,Close
End

Sub Constantes()
  Dim KGF$ : KGF$="KGF.dll"  :Dll_On KGF$
End_Sub

Sub Variables()
  Dim Clic%
End_Sub

Sub Labels()
  Label Clic,Close
End_Sub

Sub Interface()
  O_Form(0,0,1,0,0,258,616,"Traducteur Français - Martien"):Font_Name 0,"Arial"
  O_Picture(1,0,1,20,0,200,600,"Ciel.jpg"):' Stretch_on 1
  O_Option(2,0,1,3,10,0,150,"Français - Martien")
  O_Option(3,0,1,3,170,0,150,"Martien - Français")
  O_Alpha(4,0,1,30,10,0,0,"Vôtre phrase en français")
  color 4,0,0,0:font_color 4,255,255,255
  O_Edit(5,0,1,45,10,0,400,"",0)
  O_Alpha(6,0,1,70,10,0,0,"Traduction en Martien")
  color 6,0,0,0:font_color 6,255,255,255
  O_Edit(7,0,1,85,10,0,400,"",0)
  O_Button_Picture(8,0,1,44,415,25,25,"Out_PasteButton.jpg")
  O_Button_Picture(9,0,1,44,445,25,25,"Out_Delete2Button.jpg")
  O_Button_Picture(10,0,1,44,475,25,25,"Out_ValidButton.jpg")
End_Sub

Sub Init()
  Mark_on 3
End_Sub

Clic:
  Clic%=Number_Click
  Select Clic%
  case 7001:file_load 8,"On_PasteButton.jpg"
  case 7002:file_load 8,"Out_PasteButton.jpg"
  case 7003:file_load 9,"On_Delete2Button.jpg"
  case 7004:file_load 9,"Out_Delete2Button.jpg"
  case 7005:file_load 10,"On_ValidButton.jpg"
  case 7006:file_load 10,"Out_ValidButton.jpg"
  End_Select
return

Close:
return

' ______________________________________________________________________________
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
' ______________________________________________________________________________
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
' ______________________________________________________________________________
Sub O_Edit(No%,P%,V%,T%,L%,H%,W%,T$,Ch%)
  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%
  If T$<>"" Then Text No%,T$
  If Ch%=1  Then On_Change No%,Change
End_Sub
' ______________________________________________________________________________
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
' ______________________________________________________________________________
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
' ______________________________________________________________________________
Sub O_Button_Picture(No%,P%,V%,T%,L%,H%,W%,Pict$)
  O_Picture(No%,P%,V%,T%,L%,H%,W%,Pict$):On_click No%,Clic:cursor_point No%
  if variable("Survey%")=0 then dim Survey%
  if variable("No2%")=0 : dim No2% :No2%=7000 :End_if
  if Object_exists(7000)=0 :O_Edit(7000,P%,0,-200,-200,0,0):End_If
  if Survey%=0
      Survey%=1
      If Variable("KGF_res%")=0 then dim KGF_res%
      KGF_res% = dll_call2("ClickSetHook",handle(P%),handle(No2%))
  End_if
  KGF_res% = dll_call5("ClickDefineRect",No%,L%,T%,W%,H%)
  No2%=No2%+1
  O_Button(No2%,P%,0,-200,-200,0,0,"",1)
  KGF_res% = dll_call3("ClickSetLinkRect",handle(No2%),0-5,No%)
  No2%=No2%+1
  O_Button(No2%,P%,0,-200,-200,0,0,"",1)
  KGF_res% = dll_call3("ClickSetLinkRect",handle(No2%),0-6,No%)
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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: re   Mar 9 Avr 2013 - 1:52

Je te mets une version avec des couleurs à la place des *.jpg
Code:
Constantes()
Variables()
Labels()
Interface()
Init()

On_close 0,Close
End

Sub Constantes()
  Dim KGF$ : KGF$="KGF.dll"  :Dll_On KGF$
End_Sub

Sub Variables()
  Dim Clic%
End_Sub

Sub Labels()
  Label Clic,Close
End_Sub

Sub Interface()
  O_Form(0,0,1,0,0,258,616,"Traducteur Français - Martien"):Font_Name 0,"Arial"
'  O_Picture(1,0,1,20,0,200,600,"Ciel.jpg"):' Stretch_on 1
  O_Option(2,0,1,3,10,0,150,"Français - Martien")
  O_Option(3,0,1,3,170,0,150,"Martien - Français")
  O_Alpha(4,0,1,30,10,0,0,"Vôtre phrase en français")
'  color 4,0,0,0:font_color 4,255,255,255
  O_Edit(5,0,1,45,10,0,400,"",0)
  O_Alpha(6,0,1,70,10,0,0,"Traduction en Martien")
'  color 6,0,0,0:font_color 6,255,255,255
  O_Edit(7,0,1,85,10,0,400,"",0)
  O_Button_Picture(8,0,1,43,415,25,25,""):color 8,0,255,0
  O_Button_Picture(9,0,1,43,445,25,25,""):color 9,0,255,0
  O_Button_Picture(10,0,1,43,475,25,25,""):color 10,0,255,0

  O_Button_Picture(11,0,1,83,415,25,25,""):color 11,0,255,0
 
End_Sub

Sub Init()
  Mark_on 2
End_Sub

Clic:
  Clic%=Number_Click
  Select Clic%
  case 8
  case 9
  case 10
  case 7001:color 8,0,0,255
  case 7002:color 8,255,0,0
  case 7003:color 9,0,0,255
  case 7004:color 9,255,0,0
  case 7005:color 10,0,0,255
  case 7006:color 10,255,0,0
  case 7007:color 11,0,0,255
  case 7008:color 11,255,0,0
  End_Select
return

Close:
return

' ______________________________________________________________________________
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
' ______________________________________________________________________________
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
' ______________________________________________________________________________
Sub O_Edit(No%,P%,V%,T%,L%,H%,W%,T$,Ch%)
  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%
  If T$<>"" Then Text No%,T$
  If Ch%=1  Then On_Change No%,Change
End_Sub
' ______________________________________________________________________________
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
' ______________________________________________________________________________
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
' ______________________________________________________________________________
Sub O_Button_Picture(No%,P%,V%,T%,L%,H%,W%,Pict$)
  O_Picture(No%,P%,V%,T%,L%,H%,W%,Pict$):On_click No%,Clic:cursor_point No%
  if variable("Survey%")=0 : dim Survey% :end_if
  if variable("No2%")=0 : dim No2% :No2%=7000 :End_if
  if Variable("R%")=0 :dim R% :R%=1:else :R%=R%+1 :end_if
  message "Survey% = "+str$(Survey%)+chr$(13)+" No2% = "+str$(No2%)+chr$(13)+"R% = "+str$(R%)
  if Object_exists(7000)=0 :O_Edit(7000,P%,1,200,200,0,0):End_If
  if Survey%=0
      Survey%=1
      If Variable("KGF_res%")=0 then dim KGF_res%
      KGF_res% = dll_call2("ClickSetHook",handle(P%),handle(No2%))
  End_if
  KGF_res% = dll_call5("ClickDefineRect",R%,L%,T%,W%,H%)
  No2%=No2%+1
  O_Button(No2%,P%,0,-200,-200,0,0,"",1)
  KGF_res% = dll_call3("ClickSetLinkRect",handle(No2%),0-5,R%)
  No2%=No2%+1
  O_Button(No2%,P%,0,-200,-200,0,0,"",1)
  KGF_res% = dll_call3("ClickSetLinkRect",handle(No2%),0-6,R%)
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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Mar 9 Avr 2013 - 1:57

Tu rencontres exactement le cas que je décris: tu veux redessiner le picture lors d'un évènement souris, or cela dure beaucoup trop longtemps et est "avalé" pas les évènements (des centaines, littéralement) qui suivent, et ce MEME si la souris est immobile !

Je te poste ci-après, une version légèrement modifiée de ton code.

Je n'ai pas les images, et j'ai donc simplement donné une couleur de fond aux picture pour les button_picture, afin de les discerner sur le fond blanc (marquée par un commentaire).
J'ai aussi désactivé tes CASE pour changer d'image, et j'ai mis un caption 0 à la place, opération qui est rapide et qui peut s'effectuer dans le court laps de temps dont on dispose.

On constate que les boutons réagissent parfaitement au survol, autant à l'entrée qu'à la sortie, et ce pour chacun des 3 boutons:
Code:
Constantes()
Variables()
Labels()
Interface()
Init()

On_close 0,Close
End

Sub Constantes()
  Dim KGF$ : KGF$="KGF.dll"  :Dll_On KGF$
End_Sub

Sub Variables()
  Dim Clic%
End_Sub

Sub Labels()
  Label Clic,Close
End_Sub

Sub Interface()
  O_Form(0,0,1,0,0,258,616,"Traducteur Français - Martien"):Font_Name 0,"Arial"
  O_Picture(1,0,1,20,0,200,600,"Ciel.jpg"):' Stretch_on 1
  O_Option(2,0,1,3,10,0,150,"Français - Martien")
  O_Option(3,0,1,3,170,0,150,"Martien - Français")
  O_Alpha(4,0,1,30,10,0,0,"Vôtre phrase en français")
  color 4,0,0,0:font_color 4,255,255,255
  O_Edit(5,0,1,45,10,0,400,"",0)
  O_Alpha(6,0,1,70,10,0,0,"Traduction en Martien")
  color 6,0,0,0:font_color 6,255,255,255
  O_Edit(7,0,1,85,10,0,400,"",0)
  O_Button_Picture(8,0,1,44,415,25,25,"Out_PasteButton.jpg")
  O_Button_Picture(9,0,1,44,445,25,25,"Out_Delete2Button.jpg")
  O_Button_Picture(10,0,1,44,475,25,25,"Out_ValidButton.jpg")
End_Sub

Sub Init()
  Mark_on 3
End_Sub

Clic:
  Clic%=Number_Click
  Select Clic%
'  case 7001:file_load 8,"On_PasteButton.jpg"
'  case 7002:file_load 8,"Out_PasteButton.jpg"
'  case 7003:file_load 9,"On_Delete2Button.jpg"
'  case 7004:file_load 9,"Out_Delete2Button.jpg"
'  case 7005:file_load 10,"On_ValidButton.jpg"
'  case 7006:file_load 10,"Out_ValidButton.jpg"
  case 7001: caption 0,"Button_picture 8 in"
  case 7002: caption 0,"Button_picture 8 out"
  case 7003: caption 0,"Button_picture 9 in"
  case 7004: caption 0,"Button_picture 9 out"
  case 7005: caption 0,"Button_picture 10 in"
  case 7006: caption 0,"Button_picture 10 out"
  End_Select
return

Close:
return

' ______________________________________________________________________________
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
' ______________________________________________________________________________
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
' ______________________________________________________________________________
Sub O_Edit(No%,P%,V%,T%,L%,H%,W%,T$,Ch%)
  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%
  If T$<>"" Then Text No%,T$
  If Ch%=1  Then On_Change No%,Change
End_Sub
' ______________________________________________________________________________
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
' ______________________________________________________________________________
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
' ______________________________________________________________________________
Sub O_Button_Picture(No%,P%,V%,T%,L%,H%,W%,Pict$)
  O_Picture(No%,P%,V%,T%,L%,H%,W%,Pict$):On_click No%,Clic:cursor_point No%
color No%,255,200,200  : ' <========== klaus pour la visibilité sans le picture
  if variable("Survey%")=0 then dim Survey%
  if variable("No2%")=0 : dim No2% :No2%=7000 :End_if
  if Object_exists(7000)=0 :O_Edit(7000,P%,0,-200,-200,0,0):End_If
  if Survey%=0
      Survey%=1
      If Variable("KGF_res%")=0 then dim KGF_res%
      KGF_res% = dll_call2("ClickSetHook",handle(P%),handle(No2%))
  End_if
  KGF_res% = dll_call5("ClickDefineRect",No%,L%,T%,W%,H%)
  No2%=No2%+1
  O_Button(No2%,P%,0,-200,-200,0,0,"",1)
  KGF_res% = dll_call3("ClickSetLinkRect",handle(No2%),0-5,No%)
  No2%=No2%+1
  O_Button(No2%,P%,0,-200,-200,0,0,"",1)
  KGF_res% = dll_call3("ClickSetLinkRect",handle(No2%),0-6,No%)
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

Maintenant, j'ai une suggestion à te faire: au lieu de changer l'image affichée dans le picture représentant un bouton, crée 2 picture pour le même bouton et avec les mêmes coordonnées et tailles, en créant d'abord le picture représentant le bouton "non survolé", et ensuite le picture représentant le bouton "survolé". Et tu caches par HIDE le picture qui représente le bouton "survolé". Lors de l'entrée dans un picture, montres le picture de l'état "survolé" par SHOW de ce picture, et à la sortie, tu le recaches par HIDE. Tout cela bien sûr sans toucher à la visibilité du picture de l'état "non survolé". Essaie...

EDIT

On s'est croisé, mais je pense que l'esprit de ta remarque a été retenue dans mon code.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Mar 9 Avr 2013 - 2:12

je vais essayer le "hide"/"show" qui est peut être plus rapide.

une question en l'air, on a dans l'edit du sethook la position en entrant et en sortant.
au lieu d' avoir xxx,yyyR1 en sortie de R1 n'est il pas possible d'avoir xxx,yyy,R0
car là on pourrait jouer avec un on_change sur l'edit..... scratch
celà serait il plus long dans la capture? je ne crois pas puisque l'évènement est déjà capté...
Je dis peut être encore une bêtise...je deviens un spécialiste des b^tises Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Mar 9 Avr 2013 - 2:18

Imagine d'avoir les rectangles 1, 2 et 3.
Tu entres dans R2, et tu reçois x,yR2.
Tu sors de R2 et tu veux recevoir x,yR0 ?
Alors comment sauras-tu de quel rectangle tu viens de sortir ? Seul l'information Rx te donne le numéro du rectangle concerné par une action. Certes, tu peux aussi le savoir par le bouton activé, si toutefois tu as choisi d'affecter un bouton différent (ce que je conseille fortement) pour chaque action. Mais ce n'est pas obligatoire. Mais si tu réagis avec un ON_CHANGE sur le EDIT, tu actives en fait la même routine évènement, quelque soit l'évènement (entrée, sortie, déplacement, clic gauche, double-clic, clic droit...) et cela devient une usine à gaz.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Mar 9 Avr 2013 - 2:43

je viens d'essayer avec deux pictures et hide show , le problème est le même

capture du in pour les trois mais seulement le out du 3


heu...je viens de voir ta réponse en postant mon résultat sur show/hide et je ne faisais show et hide que sur un des deux picture (Picture_in.jpg)
Je reviens sur R0 :

à l'origine on a un état défini des boutons "Out" et l'image qui va avec.
on declenche la surveillance des boutons

si R1 je suis sur le 1 => show picture_in 1
si R2 je suis sur le 2 => show picture_in 2
si R0 je suis sur le container => donc en état initial

une simple variable contenant l'état précédent fait l'affaire.

le click, double_click, se font sur le picture_in x%
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Mar 9 Avr 2013 - 3:17

Le même problème, vraiment ? Alors, regarde ceci:
Code:
Constantes()
Variables()
Labels()
Interface()
Init()

On_close 0,Close
End

Sub Constantes()
  Dim KGF$ : KGF$="KGF.dll"  :Dll_On KGF$
End_Sub

Sub Variables()
  Dim Clic%
End_Sub

Sub Labels()
  Label Clic,Close
End_Sub

Sub Interface()
  O_Form(0,0,1,0,0,258,616,"Traducteur Français - Martien"):Font_Name 0,"Arial"
  O_Picture(1,0,1,20,0,200,600,"Ciel.jpg"):' Stretch_on 1
  O_Option(2,0,1,3,10,0,150,"Français - Martien")
  O_Option(3,0,1,3,170,0,150,"Martien - Français")
  O_Alpha(4,0,1,30,10,0,0,"Vôtre phrase en français")
  color 4,0,0,0:font_color 4,255,255,255
  O_Edit(5,0,1,45,10,0,400,"",0)
  O_Alpha(6,0,1,70,10,0,0,"Traduction en Martien")
  color 6,0,0,0:font_color 6,255,255,255
  O_Edit(7,0,1,85,10,0,400,"",0)
  O_Button_Picture(8,0,1,44,415,25,25,"Out_PasteButton.jpg")
  O_Button_Picture(9,0,1,44,445,25,25,"Out_Delete2Button.jpg")
  O_Button_Picture(10,0,1,44,475,25,25,"Out_ValidButton.jpg")
End_Sub

Sub Init()
  Mark_on 3
End_Sub

Clic:
  Clic%=Number_Click
  Select Clic%
'  case 7001:file_load 8,"On_PasteButton.jpg"
'  case 7002:file_load 8,"Out_PasteButton.jpg"
'  case 7003:file_load 9,"On_Delete2Button.jpg"
'  case 7004:file_load 9,"Out_Delete2Button.jpg"
'  case 7005:file_load 10,"On_ValidButton.jpg"
'  case 7006:file_load 10,"Out_ValidButton.jpg"
  case 7001: ' caption 0,"Button_picture 8 in"
    show 3008
  case 7002: ' caption 0,"Button_picture 8 out"
    hide 3008
  case 7003: ' caption 0,"Button_picture 9 in"
    show 3009
  case 7004: ' caption 0,"Button_picture 9 out"
    hide 3009
  case 7005: ' caption 0,"Button_picture 10 in"
    show 3010
  case 7006: ' caption 0,"Button_picture 10 out"
    hide 3010
  End_Select
return

Close:
return

' ______________________________________________________________________________
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
' ______________________________________________________________________________
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
' ______________________________________________________________________________
Sub O_Edit(No%,P%,V%,T%,L%,H%,W%,T$,Ch%)
  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%
  If T$<>"" Then Text No%,T$
  If Ch%=1  Then On_Change No%,Change
End_Sub
' ______________________________________________________________________________
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
' ______________________________________________________________________________
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
' ______________________________________________________________________________
Sub O_Button_Picture(No%,P%,V%,T%,L%,H%,W%,Pict$)
  O_Picture(No%,P%,V%,T%,L%,H%,W%,Pict$):On_click No%,Clic:cursor_point No%
color No%,255,200,200  : ' <========== klaus pour la visibilité sans le picture
  O_Picture(No%+3000,P%,0,T%,L%,H%,W%,Pict$):On_click No%+3000,Clic:cursor_point No%+3000
color No%+3000,255,0,0  : ' <========== klaus pour la visibilité sans le picture
  if variable("Survey%")=0 then dim Survey%
  if variable("No2%")=0 : dim No2% :No2%=7000 :End_if
  if Object_exists(7000)=0 :O_Edit(7000,P%,0,-200,-200,0,0):End_If
  if Survey%=0
      Survey%=1
      If Variable("KGF_res%")=0 then dim KGF_res%
      KGF_res% = dll_call2("ClickSetHook",handle(P%),handle(No2%))
  End_if
  KGF_res% = dll_call5("ClickDefineRect",No%,L%,T%,W%,H%)
  No2%=No2%+1
  O_Button(No2%,P%,0,-200,-200,0,0,"",1)
  KGF_res% = dll_call3("ClickSetLinkRect",handle(No2%),0-5,No%)
  No2%=No2%+1
  O_Button(No2%,P%,0,-200,-200,0,0,"",1)
  KGF_res% = dll_call3("ClickSetLinkRect",handle(No2%),0-6,No%)
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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Mar 9 Avr 2013 - 4:11

@ Klaus,

Il y a un truc qui m'échappe quand même scratch

Sur mes 3 boutons

Au départ, je n'en survole aucun, ils ont tous l' image "Out"
Je viens survoler la zone 1, il capture l' entrée et active l'image "In" donc le bouton associé
Je ressors de la zone 1, par le même endroit pour ne pas passer sur une autre zone surveillée, là rien, nada, ... le bouton associé n'est pas activé alors que l'affichage du Edit planqué, lui, a changé.

Si je fais la même opération sur la zone 3 tout fonctionne comme il faut... scratch
Cela ne peut il pas venir du fait que c'est la dernière déclarée.
Je ne déclare qu'une fois "SetHook", ne devrais je pas le déclarer à chaque fois, pour chaque bouton ?

Les deux opérations sont faites séparément après un redémarrage de l'application.
Je veux bien que le problème viennent du délai d'intervention, mais il est le même pour toutes les zones, ce sont des carrés de 25x25, les images sont déjà
chargées, et l'événement est le même.... Suspect



Dernière édition par ygeronimi le Mar 9 Avr 2013 - 4:37, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: re   Mar 9 Avr 2013 - 4:18

Je vais recharger la dll car si cela fonctionne chez toi je ne vois pas pourquoi cela part en sucette chez moi...
c'est entrain de me rendre complètement zinzin ce truc.
j'ai toujours le même problème.

PS j'ai un post de retard, j'avais pas actualisé avant de poster le post précédent.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: re   Mar 9 Avr 2013 - 4:23

cheers cheers cheers YOUPI !!!!!!!!! cheers cheers cheers

alien rendeer geek jocolor king cyclops
J' ai rechargé KGF.dll et tout fonctionne !!!!


Je peux enfin aller me coucher Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Mar 9 Avr 2013 - 10:32

Bravo pour ta persévérance !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Mar 9 Avr 2013 - 13:06

Il reste tout de même un problème.

Lorsque je veux quitter par la croix, j'ai droit à " Panoramic a cessé de fonctionner..."

je te mets un lien pour voir :Traducteur franco martien .zip
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   Mar 9 Avr 2013 - 13:45

J'ai télé-chargé le zip et j'ai fait marcher ton programme. Chez moi, cela marche sans aucun accroc.

Tu fais consciencieusement on ON_CLOSE sur la form 0, et dans cet évènement, tu effaces toutes les interceptions. C'est très bien, et je ne vois pas ce qui pourrait clocher.

Mais tu as un problème avec les boutons paste (ligne 52) et copier (ligne 57):
message "Not successfull for this kind of object" dans les deux cas. A vérifier.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: 2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect   

Revenir en haut Aller en bas
 
2.13 du 8 Avril 2013: correction bug dans ClickSetLinkRect
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 3Aller à la page : 1, 2, 3  Suivant
 Sujets similaires
-
» Convention de Troyes: 27-28 avril 2013
» mail de masse pour ANIMAL CROSSING WII U.(Fait le 28 avril 2013)
» Nouvelle interface Bbox, toujours rien ?
» 2.16 du 22 avril 2013: nouvel objet RichEdit
» beIN SPORT en clair du 26 mars au 01 avril 2013 sur Bbox

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: