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
» Une autre façon de terminer une application.
par Francis-mr Aujourd'hui à 12:07

» Compilateur FBPano
par jean_debord Aujourd'hui à 10:09

» Copier / coller du texte à partir de la fenêtre de commandes
par jean_debord Aujourd'hui à 9:46

» COMPILATEUR V 0.9 beta 8 du 18 aout 2017
par papydall Aujourd'hui à 5:01

» Mettre en windows en veille
par papydall Aujourd'hui à 4:15

» Stretch_on ne stretch plus...
par papydall Hier à 15:22

» Pb 18 (en analyse): RESTORE_LABEL avec DATA à la fin
par Jack Hier à 13:21

» Problème de traitement des opérateurs avec le compilateur.
par Pedro Alvarez Sam 19 Aoû 2017 - 20:01

» Pb 17 (résolu): ITEM_SELECT ne fonctionne pas
par Jack Jeu 17 Aoû 2017 - 19:26

» un nouveau editeur panobasic
par Jean Claude Jeu 17 Aoû 2017 - 10:18

» Le compilateur.
par Pedro Alvarez Jeu 17 Aoû 2017 - 8:36

» Pb 16 (résolu): ON_CLOSE plante à l'exécution
par Jack Mer 16 Aoû 2017 - 20:00

» Pb 15 (résolu): TIMER_ON plante à l'exécution
par Jack Mer 16 Aoû 2017 - 19:58

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Evènement utilisateur personnalisé!

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
silverman

avatar

Nombre de messages : 464
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Evènement utilisateur personnalisé!   Lun 6 Fév 2017 - 17:42

Bonjour à tous Very Happy

Voici un code qui montre comment réaliser et déclencher des évènements personnalisés(user32). Cool
Ultra simple, mais du coup il faudra être soigneux dans la gestion de ses évènements! tongue

Code:
   label Traite_User_Event

    ' cré la commande qui permet de déclencher un évènement
    dim event_index%,user32%
    event_index%=4024 : user32%=2   :' event_index% doit toujours avoir la valeur 4024
    LIBRARY user32%,"user32.dll"
    command "call_user_event","SendMessageA",user32%,"IIII","stdcall"

    ' nouvelle commande utilisateur
    On_User_Event Traite_User_Event
    
    ' déclenche l'évènement(Attention, c'est toujours et uniquement le form 0 qui active la commande 'on_user_event'!)
    call_user_event handle(0),event_index%,12,34

    
    END
    Traite_User_Event:
     Off_User_Event
     '
     '
       select USER_EVENT_LPARAM
       case 12
               message "événement n°"+str$(USER_EVENT_LPARAM)+chr$(13)+chr$(10)+"Résultat="+str$(USER_EVENT_WPARAM)
       end_select
     '
     '
     On_User_Event Traite_User_Event
    return

EDIT: voir ici pour coder un évènement personnalisé dans une DLL freebasic



Un autre code(ancienne méthode) pour réaliser et déclencher des évènements personnalisés, sans dll, 100% panoramic!
Code:
   label Traite_User_Event

    ' cré un edit caché qui permet de déclencher un évènement personnalisé
    dim event_index%,lparam%,wparam%,event_text$,pos_index%
    event_index%=9000
    edit event_index%  : hide event_index%


    ' évènement déclenché si le texte de l'edit caché est modifié
    On_change event_index%,Traite_User_Event

    ' déclenche l'évènement
    text event_index%,"12_34"


    END
    Traite_User_Event:
     Off_change event_index%
     '
     '
       event_text$=text$(event_index%) : pos_index%=instr(event_text$,"_")   :' récupère le contenu de l'edit caché
       lparam%=val(mid$(event_text$,1,pos_index%-1))                         :' extrait un paramètre
       wparam%=val(mid$(event_text$,pos_index%+1,5))                         :' extrait un second paramètre
       select lparam%
       case 12
               message "événement n°"+str$(lparam%)+chr$(13)+chr$(10)+"Résultat="+str$(wparam%)
       end_select
     '
     '
     On_change event_index%,Traite_User_Event
    return


Dernière édition par silverman le Mar 7 Fév 2017 - 15:27, édité 4 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Evènement utilisateur personnalisé!   Lun 6 Fév 2017 - 17:49

Oui, c'est bien ça. Je m'en servirai dans KGF.dll...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7975
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 6 Fév 2017 - 19:14

Wahou ! 

Je sens que la collaboration entre Silverman et Klaus 
va nous faire des petites fonctions dll du tonerre.
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 464
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Evènement utilisateur personnalisé!   Mar 7 Fév 2017 - 15:29

maj premier post : une seconde méthode sans dll, pur panoramic!  bounce
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Evènement utilisateur personnalisé!   

Revenir en haut Aller en bas
 
Evènement utilisateur personnalisé!
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Exclusivité Forumactif: Possibilité de créer un avatar personnalisé directement sur le forum
» Personnalisé le message d'accueil a chaque utilisateur
» déplacer le dossier Utilisateur (complet) sur le disque D
» Utilisateur Hotmail, faites attention aux bannières publicitaires
» [Résolu] Multiples comptes d'utilisateur - Window XP Pro

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: