FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Problème avec l'objet Toolbar - Page 2 Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Problème avec l'objet Toolbar - Page 2 Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Problème avec l'objet Toolbar - Page 2 Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Problème avec l'objet Toolbar - Page 2 Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Problème avec l'objet Toolbar - Page 2 Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Problème avec l'objet Toolbar - Page 2 Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Problème avec l'objet Toolbar - Page 2 Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Problème avec l'objet Toolbar - Page 2 Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Problème avec l'objet Toolbar - Page 2 Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Problème avec l'objet Toolbar - Page 2 Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Problème avec l'objet Toolbar - Page 2 Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Problème avec l'objet Toolbar - Page 2 Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Problème avec l'objet Toolbar - Page 2 Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Problème avec l'objet Toolbar - Page 2 Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Problème avec l'objet Toolbar - Page 2 Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-55%
Le deal à ne pas rater :
Coffret d’outils – STANLEY – STMT0-74101 – 38 pièces – ...
21.99 € 49.04 €
Voir le deal

 

 Problème avec l'objet Toolbar

Aller en bas 
5 participants
Aller à la page : Précédent  1, 2, 3, 4  Suivant
AuteurMessage
Klaus

Klaus


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 2:33

Alors là, tu m'épates. Sous XP, c'est impeccable, et en traçant la DLL, je note aucune exception dans le sans Windows, c'est-à-dire aucune anomalie d'exécution. Faut que je réfléchisse. Pour le moment, je n'ai aucune piste...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: re   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 2:35

En même temps, RemoveToolbar essaye de détruire un objet en cours d' utilisation...

Edit : on s' est croisé. Perso, je suis sous w7 mais je ne sais pas pour Pan59.
Revenir en haut Aller en bas
Klaus

Klaus


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 2:39

Certes, Ygeronimi, mais pas un objet géré par Panoramic. J'ai même fait ceci:
Code:
click_toolbar:
  yy%=val(text$(1))
  message yy%
  if yy%=3
    fin_toolbar()
'    res% = dll_call1("RemoveToolbar",1)
    dll_off
message "On sort..."
    terminate
  end_if
  return
et mon petit message s'affiche bien, et en le validant on finit par sortir du programme. Je peux même fermer le programme brutalement, par la croix rouge, sans passer par RemoveToolbar ni DLL_OFF, et il n'y a pas de problème. Je répète, je suis perplexe...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 2:39

J'ai testé et ça marche sans problème.
Vive XP!

Edit : la DLL que j'utilise est un peu ancienne.


Dernière édition par papydall le Dim 19 Jan 2014 - 2:43, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 2:40

Ouf ! Merci, Papydall! Au moins une nouvelle rassurante !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: re   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 2:46

Je te confirme que la sortie par la croix se passe de dll_off et de removetollbar même sous w7 et sans souci ( maintenant ).
Mais si je fais sauter le dll_off et terminate du code précédent j' ai droit à ceci :
Problème avec l'objet Toolbar - Page 2 Captur40

si je réactive les deux zozos j' ai droit à

PANORAMIC.exe a cessé de fonctionner

Là je pense que c' est du au terminate qui coucircuite la violation.


Edit : Pour moi perso, la sortie par la croix me suffit. je ne mets pas de bouton "quitter"
et l' utilisateur est bien obligé de passer par la croix.
Je poursuis les testes pour ceux comme Pan59 qui ont besoin d' une finition plus pro.

Bon, il est temps pour moi d' aller  Sleep Sleep Sleep , je ne sais pas ce que j' ai en ce moment...je ne tiens plus la route...
Revenir en haut Aller en bas
Klaus

Klaus


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 2:53

Ah, là, tu me donnes une piste. En désactivant de ld DLL_OFF et terminate, j'ai bien mon message "On sort...", mais ensuite, j'ai un message "Erreur abstraite".

Si je rétablis le ON_CLOSE 0,CLOSE0 avec le traitement approprié, cette anomalie est éliminée. Tu avais raison: on ne peut pas supprimer la toolbar pas un bouton de la même toolbar ! Bravo, Ygeronimi.

Voici le code opérationnel que je propose:
Code:
label click_toolbar, close0

dim res%, icon$, after%, hint$, yy%

dll_on "KGF.dll"

edit 1 : hide 1

on_change 1,click_toolbar
on_close 0,close0

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
    terminate
  end_if
  return
 
close0:
  fin_toolbar()
  res% = dll_call1("RemoveToolbar",1)
  dll_off
message "On sort..."
  return

sub fin_toolbar()
  res% = dll_call1("RemoveToolbar",1)
end_sub
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: re   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 3:07

J' ai essayé...ben c' est pareil le message revient lors de la fermeture par le bouton de la toolbar.
PANORAMIC.exe a ces..... bref

si je passe par la croix, aucun souci.

il faudrait essayer un gosub fin et

fin:
Terminate
return (ou sans return )

car là on sort de la toolbar...enfin je crois...quoi que je ne sais plus... scratch 

Aller bonne nuit à tous !  Sleep Sleep Sleep Sleep Sleep Sleep 
Revenir en haut Aller en bas
papydall

papydall


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 3:10

Mon test précédent était fait avec une version ancienne de KGF.DLL.
Je viens de télécharger la nouvelle version du dimanche 19 janvier 2014 01:13:50.
C’est OK ! No problem !

@klaus
Dans ton dernier exemple, la sub fin_toolbar() n’a plus sa raison d’exister ni son appel à la ligne 43, ou suis-je complètement hors jeu ?
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 3:19

Tu as raison - moi aussi, je vais prendre un peu de sommeil.

N'empêche - avec le code que je viens de poster ci-dessus, je n'arrive plus a produire de crah, quelque soit la manière dont je m'y prends.

EDIT

Allez, un petit dernier pour la route (ça marche impeccablement chez moi:
Code:
label click_toolbar, close0, sortir

dim res%, icon$, after%, hint$, yy%

dll_on "KGF.dll"

edit 1 : hide 1

on_change 1,click_toolbar
on_close 0,close0

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
    timer 17
    timer_interval 17,500
    on_timer 17,sortir
  end_if
  return
sortir:
  timer_off 17
close0:
  res% = dll_call1("RemoveToolbar",1)
message "On sort..."
  terminate

Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 3:25

Parfaitement parfait!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 3:31

YES!!!!!!!!! Merci, Papydall ! On verra l'avis de Ygeronimi et Pan59 demain - euh, toute à l'heure ! Allezz, dodo maintenant !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
pan59

pan59


Nombre de messages : 367
Age : 66
Localisation : Wattignies
Date d'inscription : 16/10/2011

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 12:32

Bonjour.

Le nouveau code fonctionne parfaitement.

Cependant, je trouve plusieurs choses bizarres tout de même.

Je ne savais pas qu'il était possible d'afficher une variable entière sans utiliser str$(nom), comme dans message yy%.

Selon moi, il manquerait un return afin de sortir du label 'sortir'

Enfin !

Code:
yy%=val(text$(1))
message yy%
 
sortir:
  timer_off 17

close0:
  res% = dll_call1("RemoveToolbar",1)
message "On sort..."
  terminate
Revenir en haut Aller en bas
papydall

papydall


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 13:20

Salut pan59

pan59 a écrit:
Je ne savais pas qu'il était possible d'afficher une variable entière sans utiliser str$(nom), comme dans message yy%.

La command message permet d’afficher soit un texte soit une valeur numérique.
Elle peut même évaluer une expression mathématique avant de l’afficher comme dans ce code :
Code:
dim a
a = 123.456
message a + a + sin(1.123) * rnd(100)


message se comporte un peu comme print

pan59 a écrit:
Selon moi, il manquerait un return afin de sortir du label 'sortir'

Au contraire, si on mettait un return, on ne pourrait plus sortir puisqu’on  coupe court au close0 :

Ce n’est pas parce qu’un label existe qu’il faut obligatoirement se terminer par un return.
En l’absence de return, le programme se poursuit à l’instruction suivante et il n’y a rien d’incorrect s’il rencontre un autre label ou d'autres labels dont au moins le dernier doit se terminer par un return.

J’espère que j’étais clair !


Dernière édition par papydall le Dim 19 Jan 2014 - 13:31, édité 1 fois
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
pan59

pan59


Nombre de messages : 367
Age : 66
Localisation : Wattignies
Date d'inscription : 16/10/2011

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 13:29

Bonjour.

Merci papydall pour les infos.

C'est très clair.

Bon dimanche.
Revenir en haut Aller en bas
Klaus

Klaus


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 13:43

Pour le label sortir:
Effectivement, je n'ai pas conçu "sortir" comme un sous-programme indépendant, mais comme un point d'entrée dans la routine close0. C'est la même technique que la notion desd ENTRY en Fortran: créer différents points d'entrée dans un sous-programme ou une fonction, afin d'effectuer des traitements d'initialisation différents, avant de parcourir le corps commun de la routine. Dans le cas présent, il est impératif de stopper le timer avant de faire le reste du traitement, sous peine de rester bloqué dans une boucle infinie ! Le code fourni est bien celui qu'il faut prendre.

L'idée générale est la suivante:
Comme on ne peut en aucun cas supprimer un objet qui a déclenché la routine évènement en cours, même de façon détournée, je génère un évènement timer différé, donnant ainsi le temps au traitement du clic sur le bouton de se terminer. Et lorsque l'évènement timer survient, le bouton est redevenu inactif, et je peux supprimer la toolbar, en prenant bien soin de désactiver le timer immédiatement, afin de ne pas relancer ce code indéfiniment.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: re   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 14:33

@ Klaus,

Ton dernier code solutionne le problème chez w7... cheers

Il ne reste plus qu' à mettre cela dans la doc pour que le sujet ne reviennent plus sur le tapis... Laughing 
Revenir en haut Aller en bas
Klaus

Klaus


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 14:46

Exact, Ygeronimi. Je vais m'y appliquer, avec un programme exemple complet, entièrement commenté.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 16:07

Qu'est-ce que tu penses du code suivant ? J'ai repris la solution que j'ai postée ci-dessus, pour la structurer et commenter. Je prévois d'inclure cela dans la doc:
Code:
' démo_toolbar_avec_bouton_de_sortie.bas

' Ce petit programme montre l'utilisation de la toolbar dans un programme Panoramic.
' La toolbar est un objet externe à Panoramic, créé par une fonction de KGF.dll
' et injecté dans une fenêtre du programme Panoramic.
'
' Chaque bouton de la toolbar est visualisé par une icône carrée, dont les
' dimensions en pixels sont précisées lors de la création de la toolbar.
' Toutes les icônes ont les mêmes dimensions. Les icônes peuvent être chargées
' à partir d'un fichier icône (*.ico), à partir de la bibliothèque interne ou
' à partir d'une bibliothèque fournie par l'utilisateur (*.ilb). Elles peuvent
' être également un séparateur (un espace vide non cliquable de la taille d'une icône)
' ou un diviseur (une barre verticale étroite non cliquable) pour les toolbar horizontales
'
' Lors de la création de la toolbar, on indique la fenêtre (form) dans laquelle
' elle devra apparaître, et un objet EDIT invisible qui recevra l'identifiant
' de chaque bouton cliqué, et dont l'évènement ON_CHANGE servira pour signaler
' un clic sur un des boutons de la toolbar.
'
' Chaque bouton est associé à un identifiant. C'est uune valeur entière 1, 2, ...
' qui servira à identifier le bouton cliqué, dans la routine ON_CHANGE du EDIT
' associé à la toolbar. C'est dans cette routine qu'il faut placer les traitements
' spécifiques pour chaque bouton.
'
' Pour pouvoir arrêter le programme Panoramic, il faut supprimer la toolbar avant
' de sortir. Sinon, on obtient en général des crashs (violation de mémoire ou autre).
' Ceci doit être fait dans une routine ON_CLOSE 0.
'
' Un cas particulier est à traiter d'une façon spéciale. Si l'on veut placer un
' bouton dans la toolbar dont l'action sera l'arrêt du programme. En effet, si
' l'on arrête simplement le programme par "termnate", on a alors un conflit: la
' routine ON_CLOSE de la form 0 sera appelée pour supprimer la toolbar, mais la
' routine évènement déclenchant det évènement est toujours en cours. Ceci provoque
' inévitablement un crash.
'
' Alors, la solution consiste à déclencher un autre évènement, avec un délai
' suffisamment long pour laisser la routine évènement du clic se terminer.
' Un timer Panoramic est parfaitement adapté à cela. On le programme pour un
' délai de 500 ms dans la routine ON_CHANGE de l'objet EDIT, puis cette routine
' se termine normalement. Lorsque le timer se déclenche, on stoppe le timer
' tout de suite, on supprime le timer, et maintenant, on peut supprimer la
' toolbar sans risque, puis décharger KGF.dll.
'
' Le programme suivant illustre ces techniques.

' les labels utilisés:
label click_toolbar  : ' routine évènement pour le clic des boutons
label close0        : ' appelé lors de la fermeture de form 0
label sortir        : ' appelé par le timer activé par le 3ème bouton

' variables diverses
dim res%, icon$, after%, hint$, yy%

' ouverture de KGF.dll
dll_on "KGF.dll"

' un objet EDIT caché par lequel la toolbar signale
' l'identification du bouton cliqué. Chaque clic charge
' l'identifiant du bouton dans cet objet EDIT, et son
' évènement ON_CHANGE déclenche alors la routone click_toolbar
' dans laquelle on va traiter le bouton cliqué.
edit 1 : hide 1
on_change 1,click_toolbar

' assurer une fermeture propre en supprimant la toolbar
on_close 0,close0

' création de la toolbar (horizontale en haut de la fenêtre)
' Les paramètres passés sont:
'  handle(0) = fenêtre dans laquelle la toolbar apparaîtra
'  handle(1) = objet EDIT recevant l'identification du bouton cliqué
'  0        = paramètre non utilisé pour le moment (extension future)
'  0        = position de la toolbar
'                0=bord haut  1=bord gauche  2=bord bas  3=bord droit
res% = dll_call4("CreateToolbar",handle(0),handle(1),0,0)

' changement de la couleur de fond de la toolbar (jaune dans ce cas)
res% = dll_call4("ModifyToolbar",1,255,255,0)

' définition de la taille des icônes en pixels (défaut: 16)
res% = dll_call4("ModifyToolbar",7,16,0,0)

' changer la taille de la fenêtre et adapter la position de la toolbar
width 0, width(0) + 200
height 0,screen_y-40
res% = dll_call4("ModifyToolbar",2,0,0,0)

' créer un premier bouton. Paramètres:
'  1          = identifiant du bouton (chargé dans lobjet EDIT en cliquant)
'  0-1        = valeur -1 pour dire "placer l'icône après la dernière icône présente"
'  adr(hint$) = texte de la bulle d'information
'  adr(icon$) = nom de l'icône
'                Possibilités:
'                  - nom de fichier *.ico
'                  - "KGF_n" pour choisir l'icône numéro n de la bibliothèque iinterne
'                  - "USER_n" pour choisir l'icône numéro n de la bibliothèque utilisateur
'                  - " "  (un espace) pour créer un séparateur (espace vide de la taille d'une icône
'                  - "" (chaîne vide) pour créer un diviseur (uniquement toolbars horizontales)
hint$ = ""
icon$ = "KGF_266"
res% = dll_call4("AddButtonToToolbar",1,0-1,adr(hint$),adr(icon$))

' créer un deuxième bouton
hint$ = ""
icon$ = "KGF_66"
res% = dll_call4("AddButtonToToolbar",2,0-1,adr(hint$),adr(icon$))

' créer un troisième bouton
hint$ = ""
icon$ = "KGF_204"
res% = dll_call4("AddButtonToToolbar",3,0-1,adr(hint$),adr(icon$))

end


' routine évènement lancée lorqu'un des boutons est cliqué
click_toolbar:
  ' récupérer l'identifiant du bouton cliqué
  yy%=val(text$(1))
  ' effectuer le traitement approprié pour chaque identifiant
  select yy%
    case 1
      message "Click sur bouton 1"
    case 2
      message "Click sur bouton 2"
    case 3
      ' utiliser le 3ème bouton comme bouton de sortie
      timer 17              : ' créer un timer
      timer_interval 17,500  : ' fixer l'interval à 500 ms
      on_timer 17,sortir    : ' indiquer le label pour l'évènement timer
  end_select
  return
 
 
' ici, le timer activé par le 3ème bouton a été déclenché. On veut sortir.
sortir:
  timer_off 17      : ' désactiver le timer
  delete 17        : ' et supprimer ce timer
  ' demander confirmation (on peut supprimer cette ligne pour une sortie directe)
  if message_confirmation_yes_no("Voulez-vous vraiment sortir ?")<>1 then return
  ' on a accepté la sortie, donc continuer directement avec ce qui suit.
' ici, la form 0 est en train de fermer.
' On va supprimer la toolbar et décharger KGF.dll.
close0:
  ' supprimer complètement la toolbar
  ' paramètres:
  '  1    = suppression des boutons ET de la toolbar
  res% = dll_call1("RemoveToolbar",1)
  ' décharger la DLL, par sécurité.
  ' De fait, dans ce programme exemple, dll_off n'est pas nécessaire,
  ' mais c'est une bonne pratique de programmation de décharger ce qu'on a chargé.
  dll_off
  message "On sort..."
  ' la ligne suivante pourrait être "return" si on ne considère que le
  ' passage par l'évènement ON_CLOSE qui appelle la rourine close0.
  ' Mais, comme ce code peut aussi être exécuté à partir de l'évènement timer
  ' en activant la routine "sortir", il faut mettre "terminate" pour forcer
  ' l'arrêt du programme. Dans le cas d'une sortie par la croix rouge (ce qui
  ' déclenche l'évènement ON_CLOSE 0, la commande "terminate" agit exactement
  ' comme la commande "return".
  terminate
 
 
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: re   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 16:13

C'est très bien commenté et le programme fonctionne...
...que demander de plus ?... Laughing 
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: re   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 16:19

Embarassed  Cela fonctionnait et maintenant j' ai de retour un : Panoramic a cessé de fonctionner... bounce 
Revenir en haut Aller en bas
Klaus

Klaus


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 16:25

C'est désespérant, Ygeronimi ! Est-ce que ça fait la même chose chez vous, Papydall et Pan59 ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: re   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 16:29

Je vais re-zipper et mettre sur mon webdav.
voilà l' erreur :
Problème avec l'objet Toolbar - Page 2 Captur41
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: re   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 16:31

Petite précision :

L' erreur vient sur la fermeture par le bouton et pas par la croix.
J' utilise la fonction 8 de modifytoolbar.
Revenir en haut Aller en bas
Klaus

Klaus


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

Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 EmptyDim 19 Jan 2014 - 16:32

Là, je dois partir, mais je vais regarder ça ce soir.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Problème avec l'objet Toolbar - Page 2 Empty
MessageSujet: Re: Problème avec l'objet Toolbar   Problème avec l'objet Toolbar - Page 2 Empty

Revenir en haut Aller en bas
 
Problème avec l'objet Toolbar
Revenir en haut 
Page 2 sur 4Aller à la page : Précédent  1, 2, 3, 4  Suivant
 Sujets similaires
-
» V2.75 du 21/01/2014 - extension de la toolbar
» Problème avec l'objet toolbar.
» Problème avec select case Probleme réglé merci
» Problème avec GetMousePosition.
» Problème avec kgf.chm.

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: