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
» quel est ce comportement de Panoramic_editor
par Oscaribout Aujourd'hui à 3:02

» bug BORDER_HIDE : bloque la commande full_space
par silverman Aujourd'hui à 1:19

» Découpe dans une image
par JL35 Hier à 22:00

» FNC IsDateValide(d$) pour vérifier la validité d'une date
par papydall Hier à 18:57

» Pour faire plaisir à jjn4.
par Pedro Alvarez Hier à 8:13

» Pour faire plaisir à Marc37.
par Marc Jeu 22 Fév 2018 - 21:46

» Couleur d'une variable qui n'est pas un mot-clé
par bignono Jeu 22 Fév 2018 - 14:03

» Un catalogue de photos de fleurs, avec KBDD, affichage HTML
par Klaus Mer 21 Fév 2018 - 22:44

» KGF_dll - nouvelles versions
par Klaus Mer 21 Fév 2018 - 22:30

» Mah-Jong anglais
par jjn4 Mer 21 Fév 2018 - 14:22

» Partie fractionnaire d'un flottant
par silverman Mer 21 Fév 2018 - 14:19

» bug CREATE_HIDE : corruption de form
par silverman Mer 21 Fév 2018 - 13:32

» Racine carrée d’un nombre par l’algorithme de Héron
par Ouf_ca_passe Mer 21 Fév 2018 - 9:52

» Méthode manuelle d'extraction de la racine carrée
par pascal10000 Mer 21 Fév 2018 - 7:47

» [annulé]ON_MOVE n,l ne fonctionne que sur le form 0
par silverman Mar 20 Fév 2018 - 16:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

 V2.64 du 03/12/2013: correction bug dans AddButtonToToolbar

Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
Klaus

avatar

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

MessageSujet: Re: V2.64 du 03/12/2013: correction bug dans AddButtonToToolbar   Dim 8 Déc 2013 - 10:05

Merci ! J'ai de quoi réfléchir maintenant !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: V2.64 du 03/12/2013: correction bug dans AddButtonToToolbar   Ven 27 Déc 2013 - 0:45

@Bignono:
J'ai pris un peu de temps, mais voici la version tenant compte des valeurs que tu m'as communiquées:
Code:
' bignono_toolbar.bas

label click_toolbar

dim res%, icon$, after%, hint$

' ==============================================================
' début des paramètres de confiduration de la Toolbar
dim system$
  system$ = "XP"
'  system$ = "W7"
dim position_toolbar% : position_toolbar% = 3  : ' 0,1,2,3
dim icon_size% : icon_size% =  32              : ' 16 ou 32
' fin des paramètres de confiduration de la Toolbar
' ==============================================================

select position_toolbar%

  case 0
    if system$="XP"
' ************* XP
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(766,892) delta_x=34  delta_y = 8
' Toolbar: (4,30)->(71,896)
      dim chg_hor% : chg_hor% = 10
      dim chg_ver% : chg_ver% = (icon_size%-16)+60
    else
' ************* W7
' pour side%=0
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(762,884) delta_x=38  delta_y = 16
' Toolbar: (8,30)->(71,892)
      dim chg_hor% : chg_hor% = 16
      dim chg_ver% : chg_ver% = (icon_size%-16)+76
    end_if
   
  case 1
    if system$="XP"
' ************* XP
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(766,892) delta_x=34  delta_y = 8
' Toolbar: (4,30)->(796,47)
      dim chg_hor% : chg_hor% = (icon_size%-16) + 40
      dim chg_ver% : chg_ver% = 36
    else
' ************* W7
' pour side%=1
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(762,884) delta_x=38  delta_y = 16
' Toolbar: (8,30)->(792,51)
      dim chg_hor% : chg_hor% = (icon_size%-16)+48
      dim chg_ver% : chg_ver% = 38
    end_if
   
  case 2
    if system$="XP"
' ************* XP
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(766,892) delta_x=34  delta_y = 8
' Toolbar: (4,756)->(797,896)
      dim chg_hor% : chg_hor% = 8
      dim chg_ver% : chg_ver% = (icon_size%-16)+60
    else
' ************* W7
' pour side%=2
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(762,884) delta_x=38  delta_y = 16
' Toolbar: (8,752)->(793,892)
      dim chg_hor% : chg_hor% = 16
      dim chg_ver% : chg_ver% = (icon_size%-16)+68
    end_if
   
  case 3
    if system$="XP"
' ************* XP
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(766,892) delta_x=34  delta_y = 8
' Toolbar: (854,30)->(796,897)
      dim chg_hor% : chg_hor% = (icon_size%-16) + 34
      dim chg_ver% : chg_ver% = 36
    else
' ************* W7
' pour side%=3
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(762,884) delta_x=38  delta_y = 16
' Toolbar: (850,30)->(792,893)
      dim chg_hor% : chg_hor% = (icon_size%-16)+42
      dim chg_ver% : chg_ver% = 44
    end_if
   
end_select

dll_on "KGF.dll"

edit 1 : hide 1

on_change 1,click_toolbar

' container 10 : caption 10,"Espace utilisable"
panel 10 : caption 10,"Espace utilisable"

' ==============================================================
' res% = dll_call4("CreateToolbar",handle(cible%),handle(edit%),handle(panel%),side%)
' ==============================================================
 res% = dll_call4("CreateToolbar",handle(0),handle(1),handle(10),position_toolbar%)

' ==============================================================
' res% = dll_call4("ModifyToolbar",action%,p1%,p2%,p3%)
' ==============================================================
 res% = dll_call4("ModifyToolbar",1,255,255,255)  : ' blanc
 res% = dll_call4("ModifyToolbar",7,icon_size%,0,0)  : ' icones 32 x 32
 height 0,800 : width 0, width(0) + 300
 adapter_container()
 res% = dll_call4("ModifyToolbar",8,1,0,0)
 res% = dll_call4("ModifyToolbar",2,0,0,0)  : ' ajuster la toolbar à la largeur du form
                                              ' si side%=0 (en haut) ou side%=2 (en bas)
                                              ' ajuster la toolbar à la hauteur du form
                                              ' si side%=1 (à gauche) ou side%=3 (à droite)
' ==============================================================
' res% = dll_call4("AddButtonToToolbar",id%,after%,adr(hint$),adr(icon$))
' ==============================================================
 hint$ = "afficher la photo"
 icon$ = "KGF_1"
 res% = dll_call4("AddButtonToToolbar",1,0,adr(hint$),adr(icon$))
 hint$ = "prendre une photo"
 icon$ = "KGF_2"
 after% = 0-1
 res% = dll_call4("AddButtonToToolbar",2,after%,adr(hint$),adr(icon$))
 hint$ = "aller à gauche"
 icon$ = "KGF_3"
 res% = dll_call4("AddButtonToToolbar",3,after%,adr(hint$),adr(icon$))
 hint$ = "avancer"
 icon$ = "KGF_4"
 res% = dll_call4("AddButtonToToolbar",4,after%,adr(hint$),adr(icon$))
 hint$ = "aller à droite"
 icon$ = "KGF_5"
 res% = dll_call4("AddButtonToToolbar",5,after%,adr(hint$),adr(icon$))
 hint$ = "reculer"
 icon$ = "KGF_6"
 res% = dll_call4("AddButtonToToolbar",6,after%,adr(hint$),adr(icon$))
 hint$ = "filmer"
 icon$ = "KGF_7"
 res% = dll_call4("AddButtonToToolbar",7,after%,adr(hint$),adr(icon$))
 hint$ = "grossir"
 icon$ = "KGF_8"
 res% = dll_call4("AddButtonToToolbar",8,after%,adr(hint$),adr(icon$))
 hint$ = "réduire"
 icon$ = "KGF_9"
 res% = dll_call4("AddButtonToToolbar",9,after%,adr(hint$),adr(icon$))
 hint$ = "police"
 icon$ = " " : ' "KGF_10"
 res% = dll_call4("AddButtonToToolbar",10,after%,adr(hint$),adr(icon$))
 hint$ = "style"
 icon$ = "KGF_11"
 res% = dll_call4("AddButtonToToolbar",11,after%,adr(hint$),adr(icon$))
 hint$ = "aligner à gauche"
 icon$ = "KGF_12"
 res% = dll_call4("AddButtonToToolbar",12,after%,adr(hint$),adr(icon$))
 hint$ = "centrer"
 icon$ = "KGF_13"
 res% = dll_call4("AddButtonToToolbar",13,after%,adr(hint$),adr(icon$))
 hint$ = "aligner à droite"
 icon$ = "KGF_14"
 res% = dll_call4("AddButtonToToolbar",14,after%,adr(hint$),adr(icon$))
 hint$ = "Majuscules/Minuscules"
 icon$ = "KGF_15"
 res% = dll_call4("AddButtonToToolbar",15,after%,adr(hint$),adr(icon$))
 hint$ = "interdire"
 icon$ = "KGF_16"
 res% = dll_call4("AddButtonToToolbar",16,after%,adr(hint$),adr(icon$))
 hint$ = "autoriser"
 icon$ = "KGF_17"
 res% = dll_call4("AddButtonToToolbar",17,after%,adr(hint$),adr(icon$))
 hint$ = "ajouter"
 icon$ = "KGF_300"
 after% = 3
 res% = dll_call4("AddButtonToToolbar",18,after%,adr(hint$),adr(icon$))

'  res% = dll_call4("ModifyToolbar",8,1,0,0)
END

sub adapter_container()
  select position_toolbar%
    case 0
      top 10,icon_size%+10
      width 10,width(0)-chg_hor%
      height 10,height(0)- chg_ver%
    case 1
      left 10,icon_size%+12
      width 10,width(0)-chg_hor%
      height 10,height(0)- chg_ver%
    case 2
      width 10,width(0)-chg_hor%
      height 10,height(0)- chg_ver%
    case 3
      width 10,width(0)-chg_hor%
      height 10,height(0)- chg_ver%
  end_select
end_sub

click_toolbar:
  if text$(1)="-1"
    adapter_container()
  else
    message "Bouton cliqué: "+text$(1)
  end_if
  return

J'ai remplacé le container par le magnifique panel de la versioin V0.9.25i9. Dis-moi si les ajustements sont bons. Je pourrai ensuite les intégrer dde façon automatique dans la DLL, et le code de gestion sera largement simplifié, car le panel (ou le container) s'adaptera automatiquement.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
bignono

avatar

Nombre de messages : 1123
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: V2.64 du 03/12/2013: correction bug dans AddButtonToToolbar   Sam 28 Déc 2013 - 12:48

Bonjour Klaus,  Smile 
Excuse-moi de ne pas t'avoir répondu plus tôt, mais en ce moment je suis pas mal en déplacement et je n'ai guère de temps pour panoramic, à part ce matin et peut-être un peu demain soir. Ça ira mieux après les fêtes, j'aurais plus de temps à la rentrée des classes.
Pour ne pas surcharger le post avec des images qui occuperaient tout l'espace, va sur mon webdav et télécharge les captures d'écran que j'ai faites et qui sont dans le dossier "captures".
Voici mes observations:
- Au lancement, le programme avec tes icones fonctionne très bien et elles se mettent en place correctement. Mais si j'utilise mes propres icones qui sont en 32x32 alors là, il y a un décalage de la toolbar et elle ne se colle pas au bord droit. On voit que le panel la chevauche par moitié. Mais dès que l'on essaie de redimensionner manuellement la fenêtre ou bien de l'agrandir, la toolbar va se coller au bord droit. C'est curieux! Ceci est valable pour side%=2 ou 3. (voir capture01 et 02.jpg pour tes icones et capture03 et 04.jpg pour les miennes en 32x32)
- Maintenant avec side%=0 ou 1 que se passe-t-il? Que se soit avec tes icones ou les miennes, c'est la même chose. Lorsque l'on clique sur le bouton d'agrandissement de fenêtre, tous se passe bien, et si on clique à nouveau dessus pour remettre la fenêtre à son état initial, là il y a apparition des ascenseurs. (voir capture05 et 06;jpg) Ceci n'est pas normal et je ne pense pas que ce soit un bug de Panoramic, mais peut-être de windows lui-même.
- Pour finir, j'ai coloré le form 0 en rouge et j'ai vu que le panel a queques pixels de décalage et ne recouvre pas parfaitement la fenêtre window avec la toolbar. des zones rouges sont visibles. (voir capture07, 08, 09 et 10.jpg pour des valeurs de side% allant respectivement de 0 à 3).
J'ai utilisé le programme que tu as posté avec tes icones et le même avec mes icones que voici:
Code:
' bignono_toolbar.bas

label click_toolbar

dim res%, icon$, after%, hint$ , repico$
repico$="C:\PANORAMIC\icones\"

' ==============================================================
' début des paramètres de confiduration de la Toolbar
dim system$
'  system$ = "XP"
 system$ = "W7"
dim position_toolbar% : position_toolbar% = 3  : ' 0,1,2,3
dim icon_size% : icon_size% =  32              : ' 16 ou 32
' fin des paramètres de confiduration de la Toolbar
' ==============================================================

select position_toolbar%

  case 0
    if system$="XP"
' ************* XP
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(766,892) delta_x=34  delta_y = 8
' Toolbar: (4,30)->(71,896)
      dim chg_hor% : chg_hor% = 10
      dim chg_ver% : chg_ver% = (icon_size%-16)+60
    else
' ************* W7
' pour side%=0
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(762,884) delta_x=38  delta_y = 16
' Toolbar: (8,30)->(71,892)
      dim chg_hor% : chg_hor% = 16
      dim chg_ver% : chg_ver% = (icon_size%-16)+76
    end_if

  case 1
    if system$="XP"
' ************* XP
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(766,892) delta_x=34  delta_y = 8
' Toolbar: (4,30)->(796,47)
      dim chg_hor% : chg_hor% = (icon_size%-16) + 40
      dim chg_ver% : chg_ver% = 36
    else
' ************* W7
' pour side%=1
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(762,884) delta_x=38  delta_y = 16
' Toolbar: (8,30)->(792,51)
      dim chg_hor% : chg_hor% = (icon_size%-16)+48
      dim chg_ver% : chg_ver% = 38
    end_if

  case 2
    if system$="XP"
' ************* XP
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(766,892) delta_x=34  delta_y = 8
' Toolbar: (4,756)->(797,896)
      dim chg_hor% : chg_hor% = 8
      dim chg_ver% : chg_ver% = (icon_size%-16)+60
    else
' ************* W7
' pour side%=2
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(762,884) delta_x=38  delta_y = 16
' Toolbar: (8,752)->(793,892)
      dim chg_hor% : chg_hor% = 16
      dim chg_ver% : chg_ver% = (icon_size%-16)+68
    end_if

  case 3
    if system$="XP"
' ************* XP
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(766,892) delta_x=34  delta_y = 8
' Toolbar: (854,30)->(796,897)
      dim chg_hor% : chg_hor% = (icon_size%-16) + 34
      dim chg_ver% : chg_ver% = 36
    else
' ************* W7
' pour side%=3
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(762,884) delta_x=38  delta_y = 16
' Toolbar: (850,30)->(792,893)
      dim chg_hor% : chg_hor% = (icon_size%-16)+42
      dim chg_ver% : chg_ver% = 44
    end_if

end_select

dll_on "C:\PANORAMIC\KGF.dll"

color 0,255,0,0

edit 1 : hide 1

on_change 1,click_toolbar

' container 10 : caption 10,"Espace utilisable"
panel 10 : caption 10,"Espace utilisable"

' ==============================================================
' res% = dll_call4("CreateToolbar",handle(cible%),handle(edit%),handle(panel%),side%)
' ==============================================================
 res% = dll_call4("CreateToolbar",handle(0),handle(1),handle(10),position_toolbar%)

' ==============================================================
' res% = dll_call4("ModifyToolbar",action%,p1%,p2%,p3%)
' ==============================================================
 res% = dll_call4("ModifyToolbar",1,255,255,255)  : ' blanc
 res% = dll_call4("ModifyToolbar",7,icon_size%,0,0)  : ' icones 32 x 32
 height 0,800 : width 0, width(0) + 300
 adapter_container()
 res% = dll_call4("ModifyToolbar",8,1,0,0)
 res% = dll_call4("ModifyToolbar",2,0,0,0)  : ' ajuster la toolbar à la largeur du form
                                              ' si side%=0 (en haut) ou side%=2 (en bas)
                                              ' ajuster la toolbar à la hauteur du form
                                              ' si side%=1 (à gauche) ou side%=3 (à droite)
' ==============================================================
' res% = dll_call4("AddButtonToToolbar",id%,after%,adr(hint$),adr(icon$))
' ==============================================================
 hint$ = "afficher la photo"
 icon$ = repico$+"photo.ico"
 res% = dll_call4("AddButtonToToolbar",1,(-1),adr(hint$),adr(icon$))
 hint$ = "prendre une photo"
 icon$ = repico$+"camera.ico"
 res% = dll_call4("AddButtonToToolbar",2,(-1),adr(hint$),adr(icon$))

 ' Ajout d'un séparateur: LE n° id% n'a aucune incidence
 ' un séparateur "icon$ = " " (1 espace)"
 hint$ = ""
 icon$ = " "
 res% = dll_call4("AddButtonToToolbar",3,(-1),adr(hint$),adr(icon$))
 ' un diviseur "icon$="" (chaîne vide)" il n'apparait pas et si on utilise une
 ' toolbar verticale!

 hint$ = "aller à gauche"
 icon$ = repico$+"back_alt.ico"
 res% = dll_call4("AddButtonToToolbar",3,(-1),adr(hint$),adr(icon$))
 hint$ = "avancer"
 icon$ = repico$+"up_alt.ico"
 res% = dll_call4("AddButtonToToolbar",4,(-1),adr(hint$),adr(icon$))
 hint$ = "aller à droite"
 icon$ = repico$+"forward_alt.ico"
 res% = dll_call4("AddButtonToToolbar",5,(-1),adr(hint$),adr(icon$))
 hint$ = "reculer"
 icon$ = repico$+"down_alt.ico"
 res% = dll_call4("AddButtonToToolbar",6,(-1),adr(hint$),adr(icon$))
 hint$ = "filmer"
 icon$ = repico$+"film.ico"
 res% = dll_call4("AddButtonToToolbar",7,(-1),adr(hint$),adr(icon$))
 hint$ = "grossir"
 icon$ = repico$+"magnifier_zoom_in.ico"
 res% = dll_call4("AddButtonToToolbar",8,(-1),adr(hint$),adr(icon$))
 hint$ = "réduire"
 icon$ = repico$+"magnifier_zoom_out.ico"
 res% = dll_call4("AddButtonToToolbar",9,(-1),adr(hint$),adr(icon$))
 hint$ = "police"
 icon$ = repico$+"font.ico"
 res% = dll_call4("AddButtonToToolbar",10,(-1),adr(hint$),adr(icon$))
 hint$ = "style"
 icon$ = repico$+"style.ico"
 res% = dll_call4("AddButtonToToolbar",11,(-1),adr(hint$),adr(icon$))
 hint$ = "aligner à gauche"
 icon$ = repico$+"text_align_left.ico"
 res% = dll_call4("AddButtonToToolbar",12,(-1),adr(hint$),adr(icon$))
 hint$ = "centrer"
 icon$ = repico$+"text_align_center.ico"
 res% = dll_call4("AddButtonToToolbar",13,(-1),adr(hint$),adr(icon$))
 hint$ = "aligner à droite"
 icon$ = repico$+"text_align_right.ico"
 res% = dll_call4("AddButtonToToolbar",14,(-1),adr(hint$),adr(icon$))
 hint$ = "Majuscules/Minuscules"
 icon$ = repico$+"text_caps_uncaps.ico"
 res% = dll_call4("AddButtonToToolbar",15,(-1),adr(hint$),adr(icon$))
 hint$ = "interdire"
 icon$ = repico$+"stop3.ico"
 res% = dll_call4("AddButtonToToolbar",16,(-1),adr(hint$),adr(icon$))
 hint$ = "autoriser"
 icon$ = repico$+"accept.ico"
 res% = dll_call4("AddButtonToToolbar",17,(-1),adr(hint$),adr(icon$))
 hint$ = "ajouter"
 icon$ = repico$+"add.ico"
 res% = dll_call4("AddButtonToToolbar",18,(-1),adr(hint$),adr(icon$))

'  res% = dll_call4("ModifyToolbar",8,1,0,0)
END

sub adapter_container()
  select position_toolbar%
    case 0
      top 10,icon_size%+10
      width 10,width(0)-chg_hor%
      height 10,height(0)- chg_ver%
    case 1
      left 10,icon_size%+12
      width 10,width(0)-chg_hor%
      height 10,height(0)- chg_ver%
    case 2
      width 10,width(0)-chg_hor%
      height 10,height(0)- chg_ver%
    case 3
      width 10,width(0)-chg_hor%
      height 10,height(0)- chg_ver%
  end_select
end_sub

click_toolbar:
  if text$(1)="-1"
    adapter_container()
  else
    message "Bouton cliqué: "+text$(1)
  end_if
  return
J'espère t'avoir aidé, peut-être à demain...
 Wink  Wink  Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: V2.64 du 03/12/2013: correction bug dans AddButtonToToolbar   Sam 28 Déc 2013 - 15:30

Merci, Bignono? Je vais regarder tout ça, mais ça prendra un peu de temps...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: V2.64 du 03/12/2013: correction bug dans AddButtonToToolbar   

Revenir en haut Aller en bas
 
V2.64 du 03/12/2013: correction bug dans AddButtonToToolbar
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» [festival] - Le Troll et légende - le 29, 30, 31 mars 2013
» [Résolu] Comment Transférer d'un carte SD à Mapsource CN Europe 2013
» Correction de codage
» pas de carte 2013 après téléchargement
» Quelques captures de Comodo Internet Security 2013

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: