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 Minibug Aujourd'hui à 8:42

» 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 | 
 

 Affichage de gif animé.

Aller en bas 
AuteurMessage
Pedro Alvarez

avatar

Nombre de messages : 930
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 : 5746
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/
Pedro Alvarez

avatar

Nombre de messages : 930
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 : 5746
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/
Klaus

avatar

Nombre de messages : 10576
Age : 68
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 : 930
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 : 930
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 : 10576
Age : 68
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 : 930
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 : 10576
Age : 68
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 : 930
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 : 10576
Age : 68
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 : 930
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 : 10576
Age : 68
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 : 930
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
» Hebergement et affichage des jeux... e-anim
» [Résolu] e-anim fx ?
» [Résolu] Affichage images dans un mail

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: