Page 1 sur 1
gadget et AddKeyboardShortcut
Publié : mer. 30/avr./2008 14:37
par didier69
Bonjour,
je suis un fana du clavier et j'essaye d'utiliser toutes mes
applications windows sans la souris quand c'est possible

.
J'essaye de comprendre comment ajouter un raccourci clavier
sur un gadget. Dans la documentation il est dit qu'on peut
utiliser la fonction AddKeyboardShortcut() pour beaucoup de
gadgets. Par contre cette fonction prend en premier argument
un identifiant de window et non de gadget.
Est-ce que je ne comprends pas bien la documentation ou ai-je
fait une erreur ?
Cordialement.
Publié : mer. 30/avr./2008 15:57
par gnozal
AddKeyboardShortcut() va générer un évenement de type menu, hors les menus sont liés à une fenêtre.
Donc pas d'erreur, c'est bien un identifiant de fenêtre (la fenêtre qui héberge le gadget).
Publié : ven. 02/mai/2008 19:37
par didier69
Alors je suis parti pour faire une petite application
afin de manipuler quelques gadgets. Je voudrais que quand
j'appuie sur <entrée> alors que je suis en focus sur un
StringGadget déclencher l'appel d'une fonction. J'essaye
de chercher dans le forum, mais je ne trouve pas d'exemple
simple.
Auriez-vous un petit bout de code montrant comment faire ?
Merci.
Publié : ven. 02/mai/2008 19:52
par Chris
Pour un StringGadget, tu peux faire un truc dans ce genre là.
Code : Tout sélectionner
If OpenWindow(0, 0, 0, 322, 205, "Les options de StringGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
StringGadget(0, 8, 10, 306, 20, "Clique moi d'dans et appuie sur ''Entrée''!!!!")
AddKeyboardShortcut(0, #PB_Shortcut_Return, 0)
EndIf
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_Menu
Select EventMenu()
Case 0
If GetFocus_() = GadgetID(0)
SetGadgetText(0, "Coucou, c'est moi!!!")
EndIf
EndSelect
Case #PB_Event_CloseWindow
Quit = #True
EndSelect
Until Quit
End
Publié : ven. 02/mai/2008 20:13
par didier69
Hum, je ne peux pas utiliser GetFocus_() avec la version
démo

.
Publié : ven. 02/mai/2008 20:15
par nico
Publié : ven. 02/mai/2008 21:04
par didier69
Tiens je viens de m'apercevoir que OpenWindow et StringGadget
ont le même identifiant, à savoir 0.
C'est normal ?
Publié : ven. 02/mai/2008 21:12
par Chris
didier69 a écrit :Tiens je viens de m'apercevoir que OpenWindow et StringGadget
ont le même identifiant, à savoir 0.
C'est normal ?
Oui c'est normal.
PB différencie les fenêtres et les gadgets, tu peux donc leur donner le même ID sans problème.
Publié : ven. 02/mai/2008 21:15
par didier69
Merci à tous les deux ça fonctionne

.
Vraiment très pratique purebasic

.
Publié : ven. 02/mai/2008 21:24
par Chris
didier69 a écrit :Merci à tous les deux ça fonctionne

.
Vraiment très pratique purebasic 
.
C'est une bonne raison pour l'acheter, non???

Publié : ven. 02/mai/2008 22:11
par nico
Ah oui, comme dirait Perceval je soutiens.

Publié : ven. 02/mai/2008 23:23
par Chris
nico a écrit :Ah oui, comme dirait Perceval je soutiens.

C'est pas faux!
