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.
KGF_dll - nouvelles versions - Page 35 Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
KGF_dll - nouvelles versions - Page 35 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
KGF_dll - nouvelles versions - Page 35 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
KGF_dll - nouvelles versions - Page 35 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
KGF_dll - nouvelles versions - Page 35 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
KGF_dll - nouvelles versions - Page 35 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
KGF_dll - nouvelles versions - Page 35 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
KGF_dll - nouvelles versions - Page 35 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
KGF_dll - nouvelles versions - Page 35 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
KGF_dll - nouvelles versions - Page 35 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
KGF_dll - nouvelles versions - Page 35 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
KGF_dll - nouvelles versions - Page 35 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
KGF_dll - nouvelles versions - Page 35 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
KGF_dll - nouvelles versions - Page 35 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
KGF_dll - nouvelles versions - Page 35 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 : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 KGF_dll - nouvelles versions

Aller en bas 
+8
JL35
Marc
papydall
Jicehel
Yannick
pascal10000
Minibug
Klaus
12 participants
Aller à la page : Précédent  1 ... 19 ... 34, 35, 36 ... 40  Suivant
AuteurMessage
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 EmptySam 19 Nov 2016 - 23:19

Ok Klaus !

C'est noté. Il est vrai que l'on est jamais assez prudent à ce niveau.
Bonne soirée et bonne nuit... Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 3:49

KGF.dll V6.97 du 29/11/2016

Nouveautés:
- nouvelle fonction: SetFormIcon

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Cette fonction permet de remplacer l'icône de la barre de titre de n'importe quelle fenêtre par une icône dont un spécifie le nom du fichier.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 12:43

En voilà une idée qu' elle est bonne !
Laughing
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 12:49

Merci !

Cette fonction dest documentée dans le groupe des fonctions de gestion des fenêtres. Et elle est simple d'utilisation:
Code:
dll_on "KGF.dll"
dim res%, icon$
icon$ = "MonIcone.ico"
res% = dll_call2("SetFormIcon",handle(0),adr(icon$))
Facile, non ? Evidemment, à la place de handle(0), tu peux mettre le handle de n'importe quelle form Panoramic, et même le handle d'un programme externe...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 13:08

Oui, c' est simple comme un "bonjour" à utiliser
et on va enfin pouvoir personnaliser nos applis.

Si tu trouves aussi simple pour en mettre dans le main_menu,
n' hésites surtout pas...
Laughing
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 13:19

Citation :
Si tu trouves aussi simple pour en mettre dans le main_menu
Là, je ne comprends pas... Où voudrais-tu mettre une icône ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 13:35

Dans la gouttière à gauche du caption dans les sub_menu.
Là où l' on peut déjà mettre un mark_on.

Ce n' est pas une priorité mais comme je vois que tu cherches à te changer les idées...Laughing
Revenir en haut Aller en bas
Pedro

Pedro


Nombre de messages : 1596
Date d'inscription : 19/01/2014

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: kgf   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 14:35

Bonjour.

J'obtiens le message d'erreur: not correct arithmetic expression, error in function line 5.
Merci de la suite Klaus.

Code:
dll_on "kgf"
dim f$, res%
maximize 0
f$="Users.ico"
res%=dll_call2("SetFormIcon",handle(0),adr(f$))
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 14:53

Salut  Pedro.

Je me permets de répondre à la place de Klaus (Alle meine Entschuldigungen, Klaus  Wink )
As-tu téléchargé la nouvelle version de KGF.DLL ?
Chez moi, c'est tout bon! king
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 14:59

Chez moi aussi (c' est bon).
Laughing
Revenir en haut Aller en bas
Pedro

Pedro


Nombre de messages : 1596
Date d'inscription : 19/01/2014

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: kgf   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 15:50

Bonjour.

Oui, j'ai bien téléchargé la nouvelle version sur le site de Klaus.

Pour info, je suis sous Windows 10.
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 16:10

Code:

dim res%, icon$
dll_on "KGF.dll"
caption 0,"Test icone"
icon$ = "c:\users\acer\desktop\icones\dauphin1.ico"
res% = dll_call2("SetFormIcon",handle(0),adr(icon$))


Voici ce que ça donne chez moi :


KGF_dll - nouvelles versions - Page 35 Ecran13


Il faut ajouter que si la fonction s’exécute correctement la valeur de retour de res% est 0 (zéro), sinon c'est -1
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 16:43

A tout hasard, j'ai réactualisé KGF.dll sur le sitge. Il y a peut-être eu un décalage par rapport au WebDav qui, lui, était à jour. Désolé pour le déagrément.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1596
Date d'inscription : 19/01/2014

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: kgf   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 20:21

Bonsoir.

Je viens de télécharger à nouveau la nouvelle version de KGF, et tout fonctionne parfaitement.

Merci Klaus.
Revenir en haut Aller en bas
Yannick




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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: souci avec interception d' événements sur objets   KGF_dll - nouvelles versions - Page 35 EmptyMar 29 Nov 2016 - 21:23

Code:
' essai interception evenement
dim res%
label change, clic3,clic4

dll_on "KGF.dll"

picture 1
edit 2  : hide 2 : on_change 2,change
button 3: hide 3 : on_click 3,clic3
button 4: hide 4 : on_click 4,clic4
button 5: hide 5

res% = dll_call2("ClickSetHook",handle(0),handle(2))
res% = dll_call5("ClickDefineRect",1,left(1),top(1),height(1),width(1))
res% = dll_call3("ClickSetLinkRect",handle(3),0-5,1)
res% = dll_call3("ClickSetLinkRect",handle(4),0-6,1)
res% = dll_call3("ClickSetLinkRect",handle(5),0-7,1)
end

change:
  caption 0,text$(2)
return

clic3:
  2d_target_is 1
  cls
  color 1,0,0,0
return

clic4:
  2d_target_is 1
  cls
  color 1,255,255,255
return

en entrant dans le picture tout va bien quoi que je ne suis pas sur de l' affichage dans le caption 0.

en sortant du picture, rien !
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 EmptyMer 30 Nov 2016 - 1:25

KGF.dll V6.98 du 30/11/2016

Nouveautés:
- correction d'un bug en interception des évènements de souris sur un rectangle

Modules modifiés:
KGF.dll

La doc est inchangée et reste à corriger. Les sources sont à jour.

Ceci règle ton problème,, Ygeronimi, avec cette version légèrement modifiée de ton source:
Code:
               ' essai interception evenement
dim res%, s$, p%
label change, clic3,clic4

dll_on "KGF.dll"

picture 1
edit 2  : hide 2 : on_change 2,change
button 3: hide 3 : on_click 3,clic3
button 4: hide 4 : on_click 4,clic4
button 5: hide 5

res% = dll_call2("ClickSetHook",handle(0),handle(2))
res% = dll_call5("ClickDefineRect",1,left(1),top(1),height(1),width(1))
res% = dll_call3("ClickSetLinkRect",handle(3),0-5,1)
res% = dll_call3("ClickSetLinkRect",handle(4),0-6,1)
 res% = dll_call3("ClickSetLinkRect",handle(5),0-7,1)
end

change:
  caption 0,text$(2)
return

clic3:
  s$ = text$(2)
  p% = instr(s$,"=")
  2d_target_is 1
  cls
  if mid$(s$,p%+1,2)="-5"
    color 1,0,0,0
  else
    color 1,255,255,255
  end_if
return

clic4:
  2d_target_is 1
  cls
  color 1,255,255,255
return

EDIT

je vais retravailler ce point, car je me suis rendu compte que ça marche bien pour un seul rectangle "sensible", mais pas pour plusieurs simultanément.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 35 EmptyMer 30 Nov 2016 - 12:25

Merci Klaus.

Ta modif est économique en "button" Laughing
Revenir en haut Aller en bas
Yannick




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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 35 EmptyMer 30 Nov 2016 - 14:33

Allo...Houston..., on a un problème...

Le temps que tu résolves le problème de la détection des rectangles
qui ne se fait pas correctement apparemment quand il y en a plusieurs, je me suis rabattu
sur les fonctions "ClickSetLink".

voilà la sub que cela donne:

Code:
' affichage des pictures button du menu
sub PictureButtonView()
   dim_local t$,p$,n%,i%,x%,y%,sep1%,sep2%,sep3%
   for i%=1 to 10 : 2d_target_is Sm%(i%) : cls : color Sm%(n%),238,208,138 : next i%
  
   t$ = text$(ESm%)
   sep1% = instr(t$,"=")
   sep2% = instr(t$,":")
   sep3% = instr(t$,",")
   p$ = mid$(t$,sep1%+1,2)
  
   if p$ ="07"
      x% = val(mid$(t$,sep2%+1,(sep3%-1)-sep2%))
      y% = val(right$(t$,len(t$)-sep3%))
      for i% = 1 to 10
         if x%>left(Sm%(i%)) and x%<left(Sm%(i%))+width(Sm%(i%))
            if y%>top(Sm%(i%)) and y%<top(Sm%(i%))+height(Sm%(i%))
               2d_target_is Sm%(i%)
               cls
               color Sm%(i%),0,0,0
               exit_for
            end_if
         end_if
      next i%
   end_if
end_sub

sauf que avec 7 en option ( la souris bouge dans l' objet ) voilà le contenu de l' edit :

KGF_dll - nouvelles versions - Page 35 Captur15
le numero de l' option s' affiche alors que ce n' est pas le cas pour 5 et 6 ( entre et sort de l' objet)
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 EmptyMer 30 Nov 2016 - 16:29

Ok, je vais regarder tout ça en même temps.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 35 EmptyJeu 1 Déc 2016 - 18:54

As tu trouvé la faille ?...
Smile
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 EmptyJeu 1 Déc 2016 - 18:58

Pas encore, mais ça vient...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 EmptyVen 2 Déc 2016 - 0:19

KGF.dll V6.99 du 01/12/2016

Nouveautés:
- correction d'un bug en interception des évènements de souris sur des rectangles multiples

Modules modifiés:
KGF.dll

La doc est inchangée et reste à corriger. Les sources sont à jour.

Voici le programme de démo, modifié pour deux rectangles sensibles:
Code:
' essai_interception_evenement.bas
dim res%, s$, p%, r%, rect%(2)
label change, clic3,clic4

dll_on "KGF.dll"

picture 1  : rect%(1) =  1
picture 11 : rect%(2) = 11 : top 11,50 : left 11,200 : color 11,255,255,255
edit 2  : hide 2 : on_change 2,change
button 3: hide 3 : on_click 3,clic3
button 4: hide 4 : on_click 4,clic4
button 5: hide 5

res% = dll_call2("ClickSetHook",handle(0),handle(2))

res% = dll_call5("ClickDefineRect",1,left(1),top(1),height(1),width(1))
res% = dll_call3("ClickSetLinkRect",handle(3),0-5,1)
res% = dll_call3("ClickSetLinkRect",handle(4),0-6,1)
res% = dll_call3("ClickSetLinkRect",handle(5),0-7,1)

res% = dll_call5("ClickDefineRect",2,left(11),top(11),height(11),width(11))
res% = dll_call3("ClickSetLinkRect",handle(3),0-5,2)
res% = dll_call3("ClickSetLinkRect",handle(4),0-6,2)
res% = dll_call3("ClickSetLinkRect",handle(5),0-7,2)
end

change:
  caption 0,text$(2)
return

clic3:
  s$ = text$(2)
  p% = instr(s$,"R")
  r% = val(mid$(s$,p%+1,50)) : ' <<<=== identification du rectangle en cause

  p% = instr(s$,"=")
  2d_target_is rect%(r%)
  cls
  if mid$(s$,p%+1,2)="-5"
    color rect%(r%),0,0,0
  else
    color rect%(r%),255,255,255
  end_if
return

clic4:
  2d_target_is rect%(r%)
  cls
  color rect%(r%),255,255,255
return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 35 EmptyVen 2 Déc 2016 - 4:20

Je te laisse juge...
Code:
variables()
constantes()
labels()
init()
gui()

end

sub variables()
   dim no%
   dim RectangleCibleIn%
   dim RectangleCibleOut%
end_sub

sub constantes()
   dim_local i%
  
   dim Titre$             : Titre$="Essai PictureButton"
  
   dim PanelDimensions%   : no%=no%+1 : PanelDimensions%=no%
   dim PanelMenu%         : no%=no%+1 : PanelMenu%=no%
   dim PictureButton%(10) : for i%=1 to 10 : no%=no%+1 : PictureButton%(i%)=no% : next i%

   dim ButtonMouseOverIn%   : no%=no%+1 : ButtonMouseOverIn%=no%
   dim ButtonMouseOverOut%  : no%=no%+1 : ButtonMouseOverOut%=no%
   dim EditMouseOver%       : no%=no%+1 : EditMouseOver%=no%
end_sub

sub labels()
   label Clic,Change,OnMouseOverIn,OnMouseOverOut
end_sub

sub init()
   dim_local res%,ver%,v$
  
   dll_on "KGF.dll"

   v$=string$(25," ")
   ver% = DLL_call1("KGFdllVersion",adr(v$))
   v$=trim$(v$)
   message v$
end_sub

sub gui()
   dim_local i%,h%,w%,l%,res%

   height 0,200
   width 0,450
   top 0,(screen_y-height(0))/2
   left 0,(screen_x-width(0))/2
   font_name 0,"Arial"
   font_size 0,8
   font_bold 0
  
   Panel PanelDimensions%
   full_space PanelDimensions%
   h%= height(PanelDimensions%)
   w%= width(PanelDimensions%)
   delete PanelDimensions%
  
   Panel PanelMenu%
   height PanelMenu%,26
   width PanelMenu%,w%
   top PanelMenu%,0
   left PanelMenu%,0

  
   create_hide
   edit EditMouseOver%        : on_change EditMouseOver%,Change
   button ButtonMouseOverIn%  : on_click ButtonMouseOverIn%,OnMouseOverIn
   button ButtonMouseOverOut% : on_click ButtonMouseOverOut%,OnMouseOverOut
   create_show

   res% = dll_call2("ClickSetHook",handle(PanelMenu%),handle(EditMouseOver%))

   l%=-22
   for i%=1 to 10
      Picture PictureButton%(i%)
      parent PictureButton%(i%),PanelMenu%
      height PictureButton%(i%),22
      width PictureButton%(i%),22
      top PictureButton%(i%),2
      l%=l%+26
      left PictureButton%(i%),l%
      color PictureButton%(i%),255,0,0
      cursor_point PictureButton%(i%)
      on_click PictureButton%(i%),Clic
      res% = dll_call5("ClickDefineRect",i%,left(PictureButton%(i%)),top(PictureButton%(i%)),height(PictureButton%(i%)),width(PictureButton%(i%)))
      res% = dll_call3("ClickSetLinkRect",handle(ButtonMouseOverIn%),0-5,i%)
      res% = dll_call3("ClickSetLinkRect",handle(ButtonMouseOverOut%),0-6,i%)
   next i%
  
   alpha 1000
   parent 1000,0
   top 1000,100
   caption 1000," In : "
  
   alpha 1001
   parent 1001,0
   top 1001,120
   caption 1001," Out : "
  
end_sub

Clic:
   if number_click>(PictureButton%(1)-1) and number_click<(PictureButton%(10)+1)
      message "Objet n° "+str$(number_click)+chr$(13)+"a été cliqué."
      return
   end_if
return

Change:
   caption 0,Titre$+" ["+text$(EditMouseOver%)+"]"
return

OnMouseOverIn:
   off_click ButtonMouseOverIn%
   RectangleCibleIn% = val(right$(text$(EditMouseOver%),len(text$(EditMouseOver%))-instr(text$(EditMouseOver%),"R")))
   caption 1000," In : "+str$(RectangleCibleIn%)
   2d_target_is PictureButton%(RectangleCibleIn%)
   cls
   if mid$(text$(EditMouseOver%),instr(text$(EditMouseOver%),"=")+1,2)="-5"
      color PictureButton%(RectangleCibleIn%),0,0,0
      display
   end_if
   on_click ButtonMouseOverIn%,OnMouseOverIn
return

OnMouseOverOut:
   off_click ButtonMouseOverOut%
   RectangleCibleOut% = val(right$(text$(EditMouseOver%),len(text$(EditMouseOver%))-instr(text$(EditMouseOver%),"R")))
   caption 1001," Out : "+str$(RectangleCibleOut%)
   2d_target_is PictureButton%(RectangleCibleOut%)
   cls
   if mid$(text$(EditMouseOver%),instr(text$(EditMouseOver%),"=")+1,2)="-6"
      color PictureButton%(RectangleCibleOut%),255,0,0
      display
   end_if
   on_click ButtonMouseOverOut%,OnMouseOverOut
return

Bon tu me diras que pour faire cela je pourrai tout aussi bien utiliser l' objet "ToolBar" mais bon j' ai voulu pousser le vice à l' extrême. Twisted Evil

Edit : ce qui me rend assez perplexe, c' est que, parfois, en sortant d' un rectangle par le bas ( souris sur form 0 donc hors panel de référence pour la détection ) le -5 renvoie que la souris est dans le rectangle 10 alors que je sors par le bas du rectangle 5 par exemple
 scratch
Revenir en haut Aller en bas
Yannick




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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 35 EmptyVen 2 Déc 2016 - 14:40

Code:
variables()
constantes()
labels()
init()
gui()

end

sub variables()
  dim no%
  dim RectangleCible%
end_sub

sub constantes()
  dim_local i%
 
  dim Titre$            : Titre$="Essai PictureButton"
 
  dim PanelDimensions%  : no%=no%+1 : PanelDimensions%=no%
  dim PanelMenu%        : no%=no%+1 : PanelMenu%=no%
  dim PictureButton%(10) : for i%=1 to 10 : no%=no%+1 : PictureButton%(i%)=no% : next i%

  dim ButtonMouseOver%  : no%=no%+1 : ButtonMouseOver%=no%
  dim EditMouseOver%    : no%=no%+1 : EditMouseOver%=no%
end_sub

sub labels()
  label Clic,Change,OnMouseOver
end_sub

sub init()
  dim_local res%,ver%,v$
 
  dll_on "KGF.dll"

  v$=string$(25," ")
  ver% = DLL_call1("KGFdllVersion",adr(v$))
  v$=trim$(v$)
  message v$
end_sub

sub gui()
  dim_local i%,h%,w%,l%,res%

  height 0,200
  width 0,450
  top 0,(screen_y-height(0))/2
  left 0,(screen_x-width(0))/2
  font_name 0,"Arial"
  font_size 0,8
  font_bold 0
 
  Panel PanelDimensions%
  full_space PanelDimensions%
  h%= height(PanelDimensions%)
  w%= width(PanelDimensions%)
  delete PanelDimensions%
 
  create_hide
  edit EditMouseOver%        : on_change EditMouseOver%,Change
  button ButtonMouseOver%  : on_click ButtonMouseOver%,OnMouseOver
  create_show

  Panel PanelMenu%
  height PanelMenu%,26
  width PanelMenu%,w%
  top PanelMenu%,0
  left PanelMenu%,0

  res% = dll_call2("ClickSetHook",handle(PanelMenu%),handle(EditMouseOver%))

  l%=-22
  for i%=1 to 10
      Picture PictureButton%(i%)
      parent PictureButton%(i%),PanelMenu%
      height PictureButton%(i%),22
      width PictureButton%(i%),22
      top PictureButton%(i%),2
      l%=l%+26
      left PictureButton%(i%),l%
      color PictureButton%(i%),255,0,0
      cursor_point PictureButton%(i%)
      on_click PictureButton%(i%),Clic
      res% = dll_call5("ClickDefineRect",i%,left(PictureButton%(i%)),top(PictureButton%(i%)),height(PictureButton%(i%)),width(PictureButton%(i%)))
      res% = dll_call3("ClickSetLinkRect",handle(ButtonMouseOver%),0-5,i%)
      res% = dll_call3("ClickSetLinkRect",handle(ButtonMouseOver%),0-6,i%)
  next i%
 
  alpha 1000
  parent 1000,0
  top 1000,100
  caption 1000," In : "
 
  alpha 1001
  parent 1001,0
  top 1001,120
  caption 1001," Out : "
 
end_sub

Clic:
  if number_click>(PictureButton%(1)-1) and number_click<(PictureButton%(10)+1)
      message "PictureButton n° "+str$(RectangleCible%)+chr$(13)+"a été cliqué."
      return
  end_if
return

Change:
  caption 0,Titre$+" ["+text$(EditMouseOver%)+"]"
return

OnMouseOver:
  RectangleCible% = val(mid$(text$(EditMouseOver%),instr(text$(EditMouseOver%),"R")+1,50))
  2d_target_is PictureButton%(RectangleCible%)
  cls
  if mid$(text$(EditMouseOver%),instr(text$(EditMouseOver%),"=")+1,2)="-5"
      caption 1000," In : "+str$(RectangleCible%)
      color PictureButton%(RectangleCible%),0,0,0
      display
  else
      caption 1001," Out : "+str$(RectangleCible%)
      color PictureButton%(RectangleCible%),255,0,0
      display
  end_if
return

Cela fonctionne mieux comme cela mais je doute, vu le code au-dessus, que ce soit la sortie qui soit détecté.
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 EmptySam 3 Déc 2016 - 3:29

KGF.dll V7.00 du 03/12/2016

Nouveautés:
- nouveau jeu de fonctions pour des boutons image

Modules modifiés:
KGF.dll

La doc est inchangée et reste à corriger. Les sources sont à jour.

Ces boutons peuvent avoir n'mporte quelle taille et sont organisées horizontalement ou verticalement dans un semblant de barre d'outils. Une barre d'outils peut avoir un seul bouton. Une barre d'outils ne prend que l'espace nécessaire pour afficher le ou les boutons, pas plus. On peut en créer autant qu'un veut, sur le même récepteur (form, panel, tab, ...) ou sur d'autres.

Les images proviennent d'une ImageList dont les images n'ont pas forcément les dimensions des boutons - elles seront automatiquement adaptées.

Le programme de démo suivant montre 2 barres d'outis:
- la barre 1 est horizontale avec 3 boutons de 16x16 pixels, dont celui du milieu est caché
- la barre d'outils 2 est verticale et montre 4 boutons de 32x32 pixels, dont le 2ème est inactif
Les images proviennent de KGF.ilb, mais n'importe quelle ImageList ferait l'affaire.

Voici le code:
Code:
' test_SpecialButton.bas

label click_SC1, click_SC2

dim scoHorizontal%    : scoHorizontal% = 0
dim scoVertical%      : scoVertical%  = 1

dim sbsNormal%        : sbsNormal%    = 0
dim sbsHit%          : sbsHit%        = 1
dim sbsInactive%      : sbsInactive%  = 2

dim sbaHide%          : sbaHide%      = 0
dim sbaShow%          : sbaShow%      = 1
dim sbaInactive%      : sbaInactive%  = 2
dim sbaActive%        : sbaActive%    = 3

dim res%, SC1%, SC2%, SB1%(5), SB2%(5), nom$, ilb$, IL%

edit 1 : hide 1 : on_change 1,click_SC1
edit 2 : hide 2 : on_change 2,click_SC2

dll_on "KGF.dll"
ilb$ = "KGF.ilb"

full_space 0

IL% = dll_call2("CreateImageList",16,16)
res% = dll_call2("LoadImageList",IL%,adr(ilb$))

SC1% = dll_call6("CreateSpecialContainer",handle(0),16,16,scoHorizontal%,IL%,handle(1))
res% = dll_call4("LocateSpecialContainer",SC1%,200,10,scoHorizontal%)

SC2% = dll_call6("CreateSpecialContainer",handle(0),32,32,scoVertical%,IL%,handle(2))
res% = dll_call4("LocateSpecialContainer",SC2%,10,200,scoVertical%)
                                                              ' scoVertical%
nom$ = "hor1"
SB1%(1) = dll_call4("CreateSpecialButton",SC1%,sbsNormal%,1,adr(nom$))
nom$ = "hor2"
SB1%(2) = dll_call4("CreateSpecialButton",SC1%,sbsNormal%,4,adr(nom$))
nom$ = "hor3"
SB1%(3) = dll_call4("CreateSpecialButton",SC1%,sbsNormal%,7,adr(nom$))
res% = dll_call2("ManageSpecialButton",SB1%(2),sbaHide%)

nom$ = "ver1"
SB2%(1) = dll_call4("CreateSpecialButton",SC2%,sbsNormal%,21,adr(nom$))
nom$ = "ver2"
SB2%(2) = dll_call4("CreateSpecialButton",SC2%,sbsNormal%,28,adr(nom$))
nom$ = "ver3"
SB2%(3) = dll_call4("CreateSpecialButton",SC2%,sbsNormal%,31,adr(nom$))
res% = dll_call2("ManageSpecialButton",SB2%(3),sbaInactive%)
nom$ = "ver4"
SB2%(4) = dll_call4("CreateSpecialButton",SC2%,sbsNormal%,34,adr(nom$))

end

click_SC1:
  message "clic SC1% bouton "+text$(1)
  return
 
click_SC2:
  message "clic SC2% bouton "+text$(2)
  return


Les clics sont identifiés avec numéro de barre et numéro de bouton.

Il y aura prochainement l'action visuelle sur le clic et l'inactivité du bouton. Je réfléchis aussi au survol.

La doc est dans le WebDav, dossier DLLs, et se nomme Fonctions de boutons spéciaux.rtf.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





KGF_dll - nouvelles versions - Page 35 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 35 Empty

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Revenir en haut 
Page 35 sur 40Aller à la page : Précédent  1 ... 19 ... 34, 35, 36 ... 40  Suivant
 Sujets similaires
-
» Nouvelles versions
» KGF_dll - nouvelles versions
» Synedit_Editor - nouvelles versions
» KGF_dll - nouvelles versions
» KGF_dll - nouvelles versions

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: