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 |
|
|
| Affichage de gif animé. | |
| | Auteur | Message |
---|
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Affichage de gif animé. Sam 8 Nov 2014 - 10:03 | |
| Bonjour. Je viens de découvrir que Panoramic permettait d'afficher, par un moyen détourné, des gifs animés. Ce qui permet d'égayer un peu les pages ternes des programmes. @Klaus: serait-il possible de cacher la barre de défilement de l'objet html, qui me gêne un peu ? - Code:
-
dim hnd%, res%, url$
dll_on "kgf.dll"
afficher_gif_anime() end
sub afficher_gif_anime() file_open_write 1,"gif.htm" file_writeln 1,"<html>" file_writeln 1,"<img src='gifs_animes/boussole.gif'>" file_writeln 1,"</html>" file_close 1
hnd%=handle(0) url$="file://"+dir_current$+"/gif.htm" res%=dll_call1("WBCreate",hnd%) res%=dll_call4("WBLocate",20,20,130,130) res%=dll_call1("WBUrl",adr(url$)) end_sub | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Affichage de gif animé. Sam 8 Nov 2014 - 11:12 | |
| - @Klaus: a écrit:
- serait-il possible de cacher la barre de défilement de l'objet html, qui me gêne un peu ?
Il suffit d’agrandir la fenêtre de vision. Par exemple, changer la ligne 18, comme ceci - Code:
-
res%=dll_call4("WBLocate",20,20,230,230) | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Affichage de gif animé. Sam 8 Nov 2014 - 11:18 | |
| Bonjour.
Merci Papydall.
Ok, mais ta solution ne me convient pas.
Je voudrais que la taille de la fénêtre de l'objet html ne dépasse pas la dimension de l'image gif.
Ceci afin de pouvoir inclure l'animation n'importe où sur l'écran de mon logiciel principal, sans interférer avec les autres objets. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Affichage de gif animé. Sam 8 Nov 2014 - 11:31 | |
| Je pense qu’il faut d'abord connaitre les dimensions de l’image à afficher pour ajuster les dimensions de la fenêtre de vision. - Code:
-
res%=dll_call4("WBLocate",x1,y1,w+x1,h+y1) ' x1,y1 : coordonnées du point haut gauche de la fenêtre de vision ' w et h : largeur et hauteur de l'image GIF | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Affichage de gif animé. Sam 8 Nov 2014 - 12:08 | |
| Télécharge la nouvelle version V3.84 du 8/11/2013 de KGF.dll. Il y a 2 nouvelles fonctions qui résolvent ton problème. Et voici ton code adapté à cela: - Code:
-
dim hnd%, res%, url$
dll_on "kgf.dll"
afficher_gif_anime() end
sub afficher_gif_anime() file_open_write 1,"gif.htm" file_writeln 1,"<html>" file_writeln 1,"<img src='gifs_animes/boussole.gif'>" file_writeln 1,"</html>" file_close 1
hnd%=handle(0) url$="file://"+dir_current$+"/gif.htm" res%=dll_call1("WBCreate",hnd%) res%=dll_call4("WBLocate",20,20,130,130) res%=dll_call1("WBUrl",adr(url$)) res%=dll_call2("WBScrollBars",0,0) : ' <======NOUVEAU: absence des 2 barres end_sub
| |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: affichage de gif animé. Dim 9 Nov 2014 - 8:41 | |
| Bonjour. Merci Klaus pour la nouveauté. C'est beaucoup mieux maintenant. Voici le code que j'utilise. L'appel de la sub se fait ainsi: afficher_gif_anime("ecole4",120,30,130,100,"#ffffa4",1) - Code:
-
sub afficher_gif_anime(nom_image$,x%,y%,l%,h%,couleur$,flag%) zz%=0 file_open_write 1,nom_image$+".htm" file_writeln 1,"<html>" if flag%=0 zz%=20 file_writeln 1,"<body bgcolor='"+couleur$+"'>" file_writeln 1,"<img src='gifs_animes/"+nom_image$+".gif'>" else file_writeln 1,"<body background='gifs_animes/"+nom_image$+".gif'>" end_if file_writeln 1,"</html>" file_close 1
hnd%=handle(160) url$="file://"+dir_current$+"/"+nom_image$+".htm" res%=dll_call1("WBCreate",hnd%) res%=dll_call4("WBLocate",x%,y%,l%+zz%,h%+zz%) res%=dll_call1("WBUrl",adr(url$)) res%=dll_call2("WBScrollBars",0,0) end_sub | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: affichage de gif animé. Dim 9 Nov 2014 - 10:56 | |
| Bonjour. @Klaus. Est-il possible de lancer une action (exécution d'une sub) en cliquant sur un objet html ? Merci de la réponse. Bon dimanche. J'ai essayé le code suivant, mais il ne fonctionne pas. - Code:
-
dim hnd%, hndpos%, res%, url$, wb%
dll_on "kgf.dll"
label texte
afficher_gif_anime() end
sub afficher_gif_anime() file_open_write 1,"gif.htm" file_writeln 1,"<html>" file_writeln 1,"<body background='gifs_animes/espagnol.gif'>" ' file_writeln 1,"<img src='gifs_animes/espagnol.gif' align=top border=0>" file_writeln 1,"</html>" file_close 1
hnd%=handle(0) url$="file://"+dir_current$+"/gif.htm" wb%=dll_call1("WB_Create",hnd%) ' res%=dll_call1("WBCreate",hnd%) res%=dll_call5("WB_Locate",wb%,20,20,123,89) res%=dll_call2("WB_Url",wb%,adr(url$)) res%=dll_call3("WB_ScrollBars",wb%,0,0) edit 2 left 2,200 on_click 2,texte hndpos%=handle(2) res%=dll_call2("ClickSetHook",wb%,hndpos%) res%=dll_call2("ClickSetLink",hndpos%,1) end_sub
texte: message "hello" return | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Affichage de gif animé. Dim 9 Nov 2014 - 12:56 | |
| Dans l'état actuel des choses, ce n'est pas possible. Et le problème est complexe. Je vais y réfléchir pour déterminer la faisabilité. | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: affichage de gif animé. Dim 9 Nov 2014 - 14:47 | |
| Bonjour. @Klaus. J'entrevois une solution, comme suit. Le problème revient à intégrer cette méthode dans kgf.dll. - Code:
-
dim hnd%, hndpos%, res%, true%, url$, x%, y%, wb%
true%=1
dll_on "kgf.dll"
label texte
afficher_gif_anime() end
sub afficher_gif_anime() file_open_write 1,"gif.htm" file_writeln 1,"<html>" file_writeln 1,"<body background='gifs_animes/espagnol.gif'>" file_writeln 1,"</html>" file_close 1
hnd%=handle(0) url$="file://"+dir_current$+"/gif.htm" res%=dll_call1("WBCreate",hnd%) res%=dll_call4("WBLocate",20,20,123,89) res%=dll_call1("WBUrl",adr(url$)) res%=dll_call2("WBScrollBars",0,0) while true%=1 res%=dll_call3("GetMousePosition",hnd%,adr(x%),adr(y%)) res%=dll_call6("IsPointInRectangle",x%,y%,20,20,123,89) caption 0,str$(x%)+","+str$(y%)+": "+str$(res%) if res%=1 then message "hello" end_while end_sub
texte: message "hello" return | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Affichage de gif animé. Dim 9 Nov 2014 - 15:24 | |
| Essaie plutôt comme ceci: 1. utilise wbhnd% = dll_call1("WBFunction", pour récupérer le handle du browser 2. utilise res% = dll_call5("ClickDefineRect",r%,x%,y%,w%,h%) pour définir un rectangle, en passant 1 comme numéro du rectangle dans le paramètre r% 3. utilise res% = dll_call3("ClickSetLinkRect",hnd_button%,typ%,r%) pour intercepter un clic sur le browser, avec: ==> 1 comme numéro de rectangle r% ==> hnd_button% étant le handle d'un bouton (invisible) que tu as créé. Sa routine ON_CLICK sera déclenchée s'il y a un clic dans le rectangle 1 ==> typ% prend les valeurs suivantes: -5 = souris entre dans le rectangle -6 = souris sort de le rectangle -7 = souris bouge dans le rectangle l faut donc faire 3 appels de ce genre. Avec cela, tu interceptes si le curseur entre ou sort d'un rectangle spécifique. Mais cela ne détecte pas le clic proprement-dit. Pour cela, tu peux essayer: (1) comme ci-dessus 2. tu utilises res% = dll_call2("ClickSetHook",hnd%,hndpos%) ==> hnd% étant le résultat de (1) ==> hndpos% étant le handle d'un bouton (invisible) que tu as créé et dont l'évènement on_click sera déclenché par un clic sur le browser 3. dans la routine on_click du bouton, tu récupères la position de la souris par res% = dll_call3("GetMousePosition",hnd%,adr(xp%),adr(yp%)) avec xp% et yp% recevant les coordonnées (relatives) du clic sur l'objet de handle hnd% (le browser) 4. et, finalement, vérifies si les coordonnées du clic sont dans le rectangle voulu, par res% = dll_call6("IsPointInRectangle",xp%,yp%,xr%,yr%,wr%,hr%) Je continue à chercher un moyen de faire une fonction spécifique pour cela. | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: affichage de gif animé. Jeu 13 Nov 2014 - 18:09 | |
| Bonjour. @Klaus. Serait-il possible de regrouper les 4 commandes suivantes en une seule commande ? Merci d'avance Klaus. - Code:
-
url$="file://"+dir_current$+"/"+nom_image$+".htm"
res%=dll_call1("WBCreate",handle(no%)) res%=dll_call4("WBLocate",x%*fl,y%*fh,int((l%+plusl%)*fl),int((h%+plush%)*fh)) res%=dll_call1("WBUrl",adr(url$)) res%=dll_call2("WBScrollBars",0,0) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Affichage de gif animé. Jeu 13 Nov 2014 - 19:03 | |
| Oui, comme ceci: - Code:
-
url$="file://"+dir_current$+"/"+nom_image$+".htm" NewBrowser(no%,x%,y%,fl,fh,l%,plusl%,h%,plush%,url$)
...
sub NewBrowser(no%,x%,y%,fl,fh,l%,plusl%,h%,plush%,url$) res%=dll_call1("WBCreate",handle(no%)) res%=dll_call4("WBLocate",x%*fl,y%*fh,int((l%+plusl%)*fl),int((h%+plush%)*fh)) res%=dll_call1("WBUrl",adr(url$)) res%=dll_call2("WBScrollBars",0,0) end_sub | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: affichage de gif animé. Jeu 13 Nov 2014 - 20:07 | |
| Bonsoir.
@Klaus.
Non, en fait, j'espérais la création d'une commande interne à KGF.DLL.
Car, la procédure que tu proposes, je sais faire.
Merci.
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Affichage de gif animé. Jeu 13 Nov 2014 - 20:47 | |
| Impossible, Pedro, du fait du nombre de paramètres à passer. Panoramic ne peut pas passer plus de 6 paramètres à une fonction DLL. C'est pour cela que tout est découpé en petites unités fonctionnelles. | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Affichage de gif animé. Jeu 13 Nov 2014 - 20:53 | |
| Bonsoir.
Ah, OK, pas de problème Klaus.
Merci de la précision. | |
| | | Contenu sponsorisé
| Sujet: Re: Affichage de gif animé. | |
| |
| | | | Affichage de gif animé. | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |