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
» Dessin 2D: largeur de trait
par JL35 Aujourd'hui à 17:48

» Projet de planétarium virtuel.
par Pedro Alvarez Aujourd'hui à 16:28

» PanExpress : l'éditeur Panoramic avec création d'objet
par Jean Claude Hier à 20:32

» Animation: Feux de signalisation
par Minibug Hier à 20:28

» Quantité de mémoire utilisée par un exe
par Jack Mar 19 Juin 2018 - 16:39

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

» Cadre pour image
par Jean Claude Mar 12 Juin 2018 - 16:31

» Créateur d'objets Panoramic
par Minibug Mar 12 Juin 2018 - 14:02

» Planétarium gratuit.
par Jean Claude Sam 9 Juin 2018 - 18:50

» Comment afficher une image sans fond.
par JL35 Sam 9 Juin 2018 - 14:16

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Affichage de gif animé.

Aller en bas 
AuteurMessage
Pedro Alvarez

avatar

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

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: 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)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/ En ligne
Pedro Alvarez

avatar

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

MessageSujet: 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/ En ligne
Klaus

avatar

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

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

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

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Pedro Alvarez

avatar

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

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: 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é.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

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

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Affichage de gif animé.   Dim 9 Nov 2014 - 15:24

Essaie plutôt comme ceci:

1. utilise
wbhnd% = dll_call1("WBFunction",Cool
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.

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

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

MessageSujet: 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)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

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

MessageSujet: 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.

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

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

MessageSujet: Affichage de gif animé.   Jeu 13 Nov 2014 - 20:53

Bonsoir.

Ah, OK, pas de problème Klaus.

Merci de la précision.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Affichage de gif animé.   

Revenir en haut Aller en bas
 
Affichage de gif animé.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Affichage sous IE des smileys et gif animés
» Erreur java affichage didacticiel fourni avec E-Anim
» [Résolu] e-anim fx ?
» manuel de code e-anim
» compteur php dans page générée par e-anim

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: