silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Evènement utilisateur personnalisé! Lun 6 Fév 2017 - 15:42 | |
| Bonjour à tous Voici un code qui montre comment réaliser et déclencher des évènements personnalisés(user32). Ultra simple, mais du coup il faudra être soigneux dans la gestion de ses évènements! - 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 - 13:27, édité 4 fois | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Evènement utilisateur personnalisé! Lun 6 Fév 2017 - 15:49 | |
| Oui, c'est bien ça. Je m'en servirai dans KGF.dll... | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 6 Fév 2017 - 17:14 | |
| Wahou ! Je sens que la collaboration entre Silverman et Klaus va nous faire des petites fonctions dll du tonerre. | |
|
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Evènement utilisateur personnalisé! Mar 7 Fév 2017 - 13:29 | |
| maj premier post : une seconde méthode sans dll, pur panoramic! | |
|
Contenu sponsorisé
| Sujet: Re: Evènement utilisateur personnalisé! | |
| |
|