En fait, j'ai 2 questions :
1/ Je voudrais savoir pour quelle raison je ne reçois pas le message #WM_KEYDOWN lorsque je tape du texte dans le StringGadget (est ce que c'est parce que PB l'a déjà intercepter ?)
2/ Je voudrais interdire certaines lettres au StringGadget. Comment annuler l'évenement avant qu'il n'arrive au gadget ?
Merci d'avance pour vos lumières.
Bye
Code : Tout sélectionner
Procedure Callback(WindowID,message,wParam,lParam)
Select message
Case #WM_KEYDOWN
Debug "KeyDown Callback"
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
If OpenWindow(0,0,0,250,250,"Test",#PB_Window_ScreenCentered|#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget)
StringGadget(0,25,25,200,20,"")
SetWindowCallback(@Callback(), 0)
Repeat
Event = WaitWindowEvent()
If event = #WM_KEYDOWN
Debug "KeyDown: " + Chr(EventwParam() & $FFFF)
EndIf
Until Event = #PB_Event_CloseWindow
EndIf