Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Problème avec l'objet Toolbar | |
| | |
Auteur | Message |
---|
pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Problème avec l'objet Toolbar Ven 17 Jan 2014 - 17:08 | |
| Bonjour. Le code suivant ne fonctionne pas. La Toolbar n'est pas créée, et j'obtiens le message d'erreur suivant: Panoramic a cessé de fonctionner. Merci de votre aide. - Code:
-
label click_toolbar
dim res%, icon$, after%, hint$
dll_on "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),2) message str$(res%) ' ============================================================== ' 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$ = "images\fleche1.ico" res% = dll_call4("AddButtonToToolbar",1,0,adr(hint$),adr(icon$))
END
click_toolbar: message "Bouton cliqué: "+text$(1) return | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec l'objet Toolbar Ven 17 Jan 2014 - 17:33 | |
| Malheureusement, ces fonctions sont en train de changer, et la doc ne suit pas encore. Ma faute. Donc, utilise - Code:
-
res% = dll_call4("CreateToolbar",handle(0),handle(1),0,2) : ' <===
au lieu de - Code:
-
res% = dll_call3("CreateToolbar",handle(0),handle(1),2) : ' <===
et ça marchera mieux. Pour le moment, c'est la seule fonction qui a changée sans mise à jour de la doc. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 17 Jan 2014 - 18:24 | |
| Heu.... mes souci vennent peut être de là aussi car j' ai ceci pour créer la toolbar :
le premier handle est celui du Form E_menu% ==> Edit Cont_menu% ==> Container position_toolbar% ==> Choix de l' emplacement
res% = dll_call4("CreateToolbar",handle(0),handle(E_menu%),handle(Cont_menu%),position_toolbar%) | |
| | | pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Problème avec l'objet Toolbar Ven 17 Jan 2014 - 18:27 | |
| Bonjour.
Merci Klaus.
Tout fonctionne à merveille maintenant. J'ai pû créer ma 1ère Toolbar.
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec l'objet Toolbar Ven 17 Jan 2014 - 18:30 | |
| OK, Pan59. Content que tu t'en sois sorti.
@Ygeronimi: Non, ce n'est pas le cas. Le nouveau paramètre destiné à recevoir le handle d'un container ou panel, n'est pas encore traité. Son contenu est tout juste copié dans une variable interne à la DLL, et 0 est très bien pour ça. | |
| | | pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Problème avec l'objet Toolbar Ven 17 Jan 2014 - 18:39 | |
| Bonjour.
Il subsiste un léger problème lors de l'affichage des icônes dans l'objet ToolBar.
Le fond des icônes, blanc à l'origine, apparaît toujours noir, ce qui n'est pas très joli.
Merci encore de ton aide Klaus. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 17 Jan 2014 - 18:46 | |
| Bon, J' ai réactivé toutes les lignes modifié le create toolbar avec 0 à la place de container je lance je ferme par la croix je ferme la fenêtre de message par ok je reclique sur la croix l' appli se ferme passe quelques secondes puis : runtime error je ferme par ok ouff... zut ! j' avais oublié... les icones de minimisation et reduction étaient toujours là... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec l'objet Toolbar Ven 17 Jan 2014 - 18:55 | |
| Il semblerait que ce soit la couleur du pixel du coin en bas à gauche qui est interprétée comme "couleur de transparence". Or, il faut que ce soit cette couleur exactement partout où tu veux la transparence, et non une nuance différente. Dans ton cas, si (0,0,0) est la couleur de transparence, des zones de (0,1,2), (1,0,3) etc gardent leur couleur.
Essaie de paire un remplissage avec une autre couleur, pour voir si vraiment tout le blanc se remplace.
Et pour tester la DLL, utilise une icône quelconque de la bibliothèque interne, par exempe "KGF_3" à la place du nom de fichier (sans extension !) . L'ocône devrait s'afficher sans ces bordures noires disgracieuses... | |
| | | pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Problème avec l'objet Toolbar Ven 17 Jan 2014 - 21:09 | |
| Bonsoir.
Je n'ai pas réussi à éliminer l'effet de remplissage en noir du fond des icônes.
J'ai besoin des icônes suivantes:
- pause - lecture - correction - quitter, ou fermer
Quels numéros d'icônes de "KGF_" dois-je utiliser Klaus afin de les afficher ?
Merci de ton aide. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec l'objet Toolbar Sam 18 Jan 2014 - 0:16 | |
| @Pan59: - pause: KGF_137, KGF_325, KGF_332 - lecture: KGF_221, KGF_227, KGF_290 - correction: KGF_44, KGF_66, KGF_266 - quitter, ou fermer: KGF_204
| |
| | | pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Problème avec l'objet Toolbar Sam 18 Jan 2014 - 19:47 | |
| Bonjour à tous. Merci Klaus de m'avoir indiqué les numéros d'icônes. Maintenant, j'obtiens un message d'erreur "Panoramic a cessé de fonctionné", lorsque je clique sur l'icône de droite. Merci de ton aide. - Code:
-
label click_toolbar
dim res%, icon$, after%, hint$, yy%
dll_on "KGF.dll"
edit 1 : hide 1
on_change 1,click_toolbar
res% = dll_call4("CreateToolbar",handle(0),handle(1),0,2) res% = dll_call4("ModifyToolbar",7,32,0,0) 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)
hint$ = "" icon$ = "KGF_204" res% = dll_call4("AddButtonToToolbar",1,0,adr(hint$),adr(icon$))
hint$ = "" icon$ = "KGF_66" res% = dll_call4("AddButtonToToolbar",2,0,adr(hint$),adr(icon$))
hint$ = "" icon$ = "KGF_266" res% = dll_call4("AddButtonToToolbar",3,0,adr(hint$),adr(icon$))
end
click_toolbar: yy%=val(text$(1)) if yy%=3 res% = dll_call1("RemoveToolbar",0) dll_off terminate end_if return | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec l'objet Toolbar Sam 18 Jan 2014 - 19:55 | |
| Je regarde ça et je te tiens au courant... | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 18 Jan 2014 - 20:03 | |
| la fonction est : res%=dll_call1("RemoveToolbar",1) pas : res%=dll_call1("RemoveToolbar",0)mais elle provoque un accès violation.... D' autre part, je ne saurai trop te conseiller de mettre une variable icones et une variable hint par bouton. | |
| | | pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Problème avec l'objet Toolbar Sam 18 Jan 2014 - 20:12 | |
| Bonsoir.
Je viens de tester RemoveToolbar avec le paramètre '1' au lieu de '0'
J'obtiens également un Access Violation.
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 18 Jan 2014 - 20:30 | |
| Si tu élimines la fermeture par le bouton et que tu fermes par la croix, plus de pb... Les lignes 13 et 14 sont inutiles... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec l'objet Toolbar Sam 18 Jan 2014 - 20:49 | |
| Je présente mes excuses. J'ai fait une fausse manip en publiant la dernière version de KGF.dll, et c'est une version de test qui est arrivée sur mon WebDav. Recharge s'il te plaît KGF.dll - la bonne version est mainenant disponible. Et j'ai très légèrement modifié ton code pour que les boutons se placent dans l'ordre souhaité: - Code:
-
label click_toolbar
dim res%, icon$, after%, hint$, yy%
dll_on "KGF.dll"
edit 1 : hide 1
on_change 1,click_toolbar
res% = dll_call4("CreateToolbar",handle(0),handle(1),0,2) ' res% = dll_call4("ModifyToolbar",7,32,0,0) 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)
hint$ = "" icon$ = "KGF_204" res% = dll_call4("AddButtonToToolbar",1,0-1,adr(hint$),adr(icon$))
hint$ = "" icon$ = "KGF_66" res% = dll_call4("AddButtonToToolbar",2,0-1,adr(hint$),adr(icon$))
hint$ = "" icon$ = "KGF_266" res% = dll_call4("AddButtonToToolbar",3,0-1,adr(hint$),adr(icon$))
end
click_toolbar: yy%=val(text$(1))
if yy%=3 res% = dll_call1("RemoveToolbar",1) dll_off terminate end_if return Bonne chance ! | |
| | | pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Problème avec l'objet Toolbar Sam 18 Jan 2014 - 21:00 | |
| Bonsoir.
J'ai donc téléchargé la dernière version de kgf.dll puis copié ton code.
Mais lorsque je clique sur la 3è icône, j'obtiens toujours le message d'erreur 'Panoramic a cessé de fonctionner'.
Merci de voir Klaus.
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec l'objet Toolbar Sam 18 Jan 2014 - 21:09 | |
| Je ne trouve aucun problème avec ce code: - Code:
-
label click_toolbar
dim res%, icon$, after%, hint$, yy%
dll_on "KGF.dll"
edit 1 : hide 1
on_change 1,click_toolbar
res% = dll_call4("CreateToolbar",handle(0),handle(1),0,2) res% = dll_call4("ModifyToolbar",7,32,0,0) 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)
hint$ = "" icon$ = "KGF_266" res% = dll_call4("AddButtonToToolbar",1,0-1,adr(hint$),adr(icon$))
hint$ = "" icon$ = "KGF_66" res% = dll_call4("AddButtonToToolbar",2,0-1,adr(hint$),adr(icon$))
hint$ = "" icon$ = "KGF_204" res% = dll_call4("AddButtonToToolbar",3,0-1,adr(hint$),adr(icon$))
end
click_toolbar: yy%=val(text$(1))
if yy%=3 res% = dll_call1("RemoveToolbar",0) dll_off terminate end_if return | |
| | | pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Problème avec l'objet Toolbar Sam 18 Jan 2014 - 21:23 | |
| Bonsoir.
Le problème est récurrent.
Et j'obtiens un access violation lorsque je supprime les lignes suivantes:
dll_off terminate | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec l'objet Toolbar Sam 18 Jan 2014 - 21:54 | |
| Es-tu sûr d'avoir repris la DLL que j'ai mis sur le WebDav à ce moment: samedi 18 janvier 2014 20:59:46
Et, essaie stp avec res% = dll_call1("RemoveToolbar",1) : ' 1 en dernier paramètre au lieu de 0
Je ne sais quoi dire: je n'ai aucun plantage. Qu'est-ce que tu en dis, Ygeronimi, sous W7 ?
| |
| | | pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: probleme toolbar Sam 18 Jan 2014 - 21:58 | |
| Bonsoir.
Oui j'ai bien respecté tes 2 conseils klaus.
Mais rien n'y fait. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec l'objet Toolbar Dim 19 Jan 2014 - 1:16 | |
| Alors, humblement, je te demande de refaire un essai avec la version que je viens de redéposer dans mon webDav: celle du dimanche 19 janvier 2014 01:13:50
J'ai retravaillé la fonction de suppression de la toolbar avec rigueur, et je serais curieux de connaître le résultat. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 19 Jan 2014 - 2:15 | |
| @ Klaus, J' ai essayé la dll avec ce code là : - Code:
-
label click_toolbar
dim res%, icon$, after%, hint$, yy%
dll_on "KGF.dll"
edit 1 : hide 1
on_change 1,click_toolbar
res% = dll_call4("CreateToolbar",handle(0),handle(1),0,2) ' res% = dll_call4("ModifyToolbar",7,16,0,0) ' res% = dll_call4("ModifyToolbar",1,255,255,255) : ' blanc res% = dll_call4("ModifyToolbar",7,16,0,0) : ' icones 32 x 32 width 0, width(0) + 200 height 0,screen_y-40 res% = dll_call4("ModifyToolbar",2,0,0,0)
hint$ = "" icon$ = "KGF_204" res% = dll_call4("AddButtonToToolbar",1,0,adr(hint$),adr(icon$))
hint$ = "" icon$ = "KGF_66" res% = dll_call4("AddButtonToToolbar",2,0,adr(hint$),adr(icon$))
hint$ = "" icon$ = "KGF_266" res% = dll_call4("AddButtonToToolbar",3,0,adr(hint$),adr(icon$))
end
click_toolbar: yy%=val(text$(1)) message yy% if yy%=3 ' res% = dll_call1("RemoveToolbar",0) ' dll_off ' terminate fin_toolbar() end_if return sub fin_toolbar() res% = dll_call1("RemoveToolbar",1) end_sub et j' ai eu cela : | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec l'objet Toolbar Dim 19 Jan 2014 - 2:25 | |
| Essaie comme ça. Je sais qu'il y a encore des choses à améliorer, mais ça au moins, ça marche: - Code:
-
label click_toolbar
dim res%, icon$, after%, hint$, yy%
dll_on "KGF.dll"
edit 1 : hide 1
on_change 1,click_toolbar
res% = dll_call4("CreateToolbar",handle(0),handle(1),0,2) ' res% = dll_call4("ModifyToolbar",7,16,0,0) ' res% = dll_call4("ModifyToolbar",1,255,255,255) : ' blanc res% = dll_call4("ModifyToolbar",7,16,0,0) : ' icones 32 x 32 width 0, width(0) + 200 height 0,screen_y-40 res% = dll_call4("ModifyToolbar",2,0,0,0)
hint$ = "" icon$ = "KGF_266" res% = dll_call4("AddButtonToToolbar",1,0-1,adr(hint$),adr(icon$))
hint$ = "" icon$ = "KGF_66" res% = dll_call4("AddButtonToToolbar",2,0-1,adr(hint$),adr(icon$))
hint$ = "" icon$ = "KGF_204" res% = dll_call4("AddButtonToToolbar",3,0-1,adr(hint$),adr(icon$))
end
click_toolbar: yy%=val(text$(1)) message yy% if yy%=3 fin_toolbar() ' res% = dll_call1("RemoveToolbar",1) dll_off terminate end_if return
sub fin_toolbar() res% = dll_call1("RemoveToolbar",1) end_sub Que tu utilises RemoveToolbar directement ou dans une procédure, ça marche dans les deux cas. J'ai changé légèrement le chargement de la toolbar avec les boutons, pour avoir de bouton de sortie en 3ème position. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 19 Jan 2014 - 2:29 | |
| J' ai droit à de message : PANORAMIC.exe a cessé de fonctionner.... | |
| | | Contenu sponsorisé
| Sujet: Re: Problème avec l'objet Toolbar | |
| |
| | | | Problème avec l'objet Toolbar | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |