Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: V2.62 du 01/12/2013 - ajout paramètre side% à CreateToolbar Dim 1 Déc 2013 - 22:49 | |
| Nouvelle version: KGF.dll V2.62 du 01/12/2013
Nouveauté: la fonction CreateToolbar a maintenant un 3ème paramètre side% pour choisir le côté où apparaîtra la Toolbar
Modules modifiés: KGF.dll KGF_SUB.bas KGF.chm KGF.doc KGF.pdf
Ce paramètre peut pendre les valeurs suivantes: 0 = en haut 1 = à gauche 2 = en bas 3 = à droite
La doc et les sources sont à jour. | |
|
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: V2.62 du 01/12/2013 - ajout paramètre side% à CreateToolbar Lun 2 Déc 2013 - 0:12 | |
| Merci bien Klaus pour ce nouveau paramètre side% qui permet d'installer la toolbar sur n'importe quel coté du form. Cependant, avec mon code, quand j'utilise pour side% 1 ou 3, l'affichage de mes 18 boutons suivants leur identification se fait comme ceci verticalement: 1 18 17 16 ... etc 4 3 2 - Code:
-
label click_toolbar
dim res%, icon$, after%, hint$
dll_on "c:\PANORAMIC\KGF.dll"
edit 1 : hide 1
on_change 1,click_toolbar
' ============================================================== ' res% = dll_call2("CreateToolbar",handle(cible%),handle(edit%),side%) ' ============================================================== res% = dll_call3("CreateToolbar",handle(0),handle(1),3)
' ============================================================== ' res% = dll_call4("ModifyToolbar",action%,p1%,p2%,p3%) ' ============================================================== res% = dll_call4("ModifyToolbar",1,255,255,255) : ' blanc res% = dll_call4("ModifyToolbar",7,32,0,0) : ' icones 32 x 32 width 0, width(0) + 200 height 0,screen_y-40 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$ = "C:\PANORAMIC\icones\photo.ico" res% = dll_call4("AddButtonToToolbar",1,0,adr(hint$),adr(icon$)) hint$ = "prendre une photo" icon$ = "C:\PANORAMIC\icones\camera.ico" res% = dll_call4("AddButtonToToolbar",2,0,adr(hint$),adr(icon$)) hint$ = "aller à gauche" icon$ = "C:\PANORAMIC\icones\back_alt.ico" res% = dll_call4("AddButtonToToolbar",3,0,adr(hint$),adr(icon$)) hint$ = "avancer" icon$ = "C:\PANORAMIC\icones\up_alt.ico" res% = dll_call4("AddButtonToToolbar",4,0,adr(hint$),adr(icon$)) hint$ = "aller à droite" icon$ = "C:\PANORAMIC\icones\forward_alt.ico" res% = dll_call4("AddButtonToToolbar",5,0,adr(hint$),adr(icon$)) hint$ = "reculer" icon$ = "C:\PANORAMIC\icones\down_alt.ico" res% = dll_call4("AddButtonToToolbar",6,0,adr(hint$),adr(icon$)) hint$ = "filmer" icon$ = "C:\PANORAMIC\icones\film.ico" res% = dll_call4("AddButtonToToolbar",7,0,adr(hint$),adr(icon$)) hint$ = "grossir" icon$ = "C:\PANORAMIC\icones\magnifier_zoom_in.ico" res% = dll_call4("AddButtonToToolbar",8,0,adr(hint$),adr(icon$)) hint$ = "réduire" icon$ = "C:\PANORAMIC\icones\magnifier_zoom_out.ico" res% = dll_call4("AddButtonToToolbar",9,0,adr(hint$),adr(icon$)) hint$ = "police" icon$ = "C:\PANORAMIC\icones\font.ico" res% = dll_call4("AddButtonToToolbar",10,0,adr(hint$),adr(icon$)) hint$ = "style" icon$ = "C:\PANORAMIC\icones\style.ico" res% = dll_call4("AddButtonToToolbar",11,0,adr(hint$),adr(icon$)) hint$ = "aligner à gauche" icon$ = "C:\PANORAMIC\icones\text_align_left.ico" res% = dll_call4("AddButtonToToolbar",12,0,adr(hint$),adr(icon$)) hint$ = "centrer" icon$ = "C:\PANORAMIC\icones\text_align_center.ico" res% = dll_call4("AddButtonToToolbar",13,0,adr(hint$),adr(icon$)) hint$ = "aligner à droite" icon$ = "C:\PANORAMIC\icones\text_align_right.ico" res% = dll_call4("AddButtonToToolbar",14,0,adr(hint$),adr(icon$)) hint$ = "Majuscules/Minuscules" icon$ = "C:\PANORAMIC\icones\text_allcaps.ico" res% = dll_call4("AddButtonToToolbar",15,0,adr(hint$),adr(icon$)) hint$ = "interdire" icon$ = "C:\PANORAMIC\icones\stop3.ico" res% = dll_call4("AddButtonToToolbar",16,0,adr(hint$),adr(icon$)) hint$ = "autoriser" icon$ = "C:\PANORAMIC\icones\accept.ico" res% = dll_call4("AddButtonToToolbar",17,0,adr(hint$),adr(icon$)) hint$ = "ajouter" icon$ = "C:\PANORAMIC\icones\add.ico" res% = dll_call4("AddButtonToToolbar",18,0,adr(hint$),adr(icon$)) END
click_toolbar: message "Bouton cliqué: "+text$(1) return
Peut-être que je fait quelque chose de mal? D'autre part le paramètre after% si on le met à -1, cela renvoi toujours une erreur et le programme s'arrête. (not correct expression ... etc) A+ | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: V2.62 du 01/12/2013 - ajout paramètre side% à CreateToolbar Lun 2 Déc 2013 - 0:17 | |
| | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: V2.62 du 01/12/2013 - ajout paramètre side% à CreateToolbar Lun 2 Déc 2013 - 2:18 | |
| J'ai corrigé. Je suis tombé sur un phénomène très curieux. Malgré tous mes efforts pour calculer la position de la nouvelle icône (et j'ai vérifié que la position calculée est bien la bonne !), la nouvelle icône s'insérait toujours en deuxième position, et ce uniquement pour les barres verticales !
J'ai dû le faire migrer une place à la fois, jusque derrière le dernier bouton, et maintenant, ca marche.
Je n'ai pas fait de nouvelle version juste pour ça, mais si tu rechanges la DLL, ça devrait marcher pour toi. Aucun autre module n'est changé, et les sources sont à jour sur mon WebDav. | |
|
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: V2.62 du 01/12/2013 - ajout paramètre side% à CreateToolbar Lun 2 Déc 2013 - 10:45 | |
| Bonjour Klaus C'est génial! Ça fonctionne super ta toolbar maintenant! Par contre je ne comprends pas bien la fonction du paramètre after% si on le met à -1, cela renvoie toujours une erreur et le programme s'arrête. (not correct expression ... etc) Si il est >0, cela n'a aucune incidence et si il est =0, les boutons se mettent en place les uns derrière les autres sans problèmes. Merci d'éclairer ma lanterne! A+ | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: V2.62 du 01/12/2013 - ajout paramètre side% à CreateToolbar Lun 2 Déc 2013 - 12:06 | |
| Si tu fais - Code:
-
after% = 0-1 et tu passes la variable after%, il n'y a pas de plantage. Panoramic n'accepte pas - Code:
-
res% = dll_call4("AddButtonToToolbar",2,-1,adr(hint$),adr(icon$)) Tu peux le faire avec les procédures de KGF.dll: - Code:
-
AddButtonToToolbar(2,-1,hint$,icon$) Le paramètre after% est prévu pour introduire une icône à un endroit précis de la Toolbar. Voilà le sens de ce paramètre: -1 = après la dernière icône présente 0 = devant toutes les icônes présentes 0<n<=nombre d'icônes = après l'icône n Suite au problème de placement de l'icône pour les barres verticales, j'ai certainement court-circuité ce mécanisme. Je vais voir s'il y a moyen de rétablir cela sans casser par ailleurs. | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: V2.62 du 01/12/2013 - ajout paramètre side% à CreateToolbar Lun 2 Déc 2013 - 16:16 | |
| Le problème de la gestion du paramètre after% est résolu ==> nouvelle version V2.63 du 02/12/2013 ! | |
|