[RESOLU] Raccourci clavier sur Fenêtre Masquée
- microdevweb
- Messages : 1802
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
[RESOLU] Raccourci clavier sur Fenêtre Masquée
Bonjour,
Je développe actuellement un petit soft de gestion de temps de développement. Je rend donc quant on ferme la fenêtre invisible et ajoute une icône dans la zone Systray. J'aimerais pouvoir créer un raccourci clavier (quant la fenêtre et invisible du type F8 ou autre) pour
ré-ouvrir le programme (rendre à nouveau la fenêtre visible). Cela ne me semble pas possible avec la gestion des évènements classiques et malgré une recherche sur google je n'ai pas vraiment trouvé l'aide d'un Api qui conviendrait (je ne suis pas très fort en Anglais évidement)
Merci d'avance
Je développe actuellement un petit soft de gestion de temps de développement. Je rend donc quant on ferme la fenêtre invisible et ajoute une icône dans la zone Systray. J'aimerais pouvoir créer un raccourci clavier (quant la fenêtre et invisible du type F8 ou autre) pour
ré-ouvrir le programme (rendre à nouveau la fenêtre visible). Cela ne me semble pas possible avec la gestion des évènements classiques et malgré une recherche sur google je n'ai pas vraiment trouvé l'aide d'un Api qui conviendrait (je ne suis pas très fort en Anglais évidement)
Merci d'avance
Dernière modification par microdevweb le jeu. 06/sept./2012 15:25, modifié 1 fois.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Work at Centre Spatial de Liège
Re: Raccourci clavier sur Fenêtre Masquée
relis toi , j'ai rien compris !
de plus si tu avais un squelette de Code , ça serai un plus

???Je rend donc quant on ferme la fenêtre invisible et ajoute une icône dans la zone Systray.
???J'aimerais pouvoir créer un raccourci clavier (quant la fenêtre et invisible du type F8 ou autre)
de plus si tu avais un squelette de Code , ça serai un plus

- microdevweb
- Messages : 1802
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: Raccourci clavier sur Fenêtre Masquée
Je pensais pourtant être clair.
Quant l'utilisateur ferme le programme (ce dernier tourne en arrière pour calculer le temps)
Il peut quitter réellement le programme avec un click droit et le Menu popup et rend la fenêtre à nouveau visible avec un click gauche sur l'icone du programme.
J'aimerais créer un raccourcis clavier pour cette partie de code
Quant l'utilisateur ferme le programme (ce dernier tourne en arrière pour calculer le temps)
Code : Tout sélectionner
Case #Gadget_Main_BT_Exit
HideWindow(#Window_Main,1)
Code : Tout sélectionner
Case #PB_Event_SysTray
If EventType()=#PB_EventType_LeftClick
HideWindow(#Window_Main,0)
EndIf
If EventType()=#PB_EventType_RightClick
DisplayPopupMenu(#MENU_POPUP,WindowID(#Window_Main))
EndIf
Code : Tout sélectionner
Case #PB_Event_SysTray
If EventType()=#PB_EventType_LeftClick
HideWindow(#Window_Main,0)
EndIf
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Work at Centre Spatial de Liège
Re: Raccourci clavier sur Fenêtre Masquée
t'as pas essayé ça :
Code : Tout sélectionner
AddKeyboardShortcut(#Fenetre, #PB_Shortcut_Space, 8) ; ici l'event 8 sera generé par l'apuis sur la touche Espace
If EventType()=#PB_EventType_LeftClick or EventMenu()= 8 ; <--- ici on test si click gauche OU si l'event-menu est egal a 8 c'est notre raccourcis ...
- microdevweb
- Messages : 1802
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: Raccourci clavier sur Fenêtre Masquée
Si j'ai essayé, mais comme la fenêtre et Invisible. Cela ne marque pas.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Work at Centre Spatial de Liège
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Raccourci clavier sur Fenêtre Masquée
je n'ai pas documenté mais je pense que c'est suffisamment explicite. (Window uniquement)
Touche F8 pour afficher ou pas la fenêtre.
Double-clic souris sur l'icone en systray pour afficher la fenêtre.
Clic droit sur sur l'icone en systray pour un menu contextuel.
la touche F8 est détectée dans un thread.
Si l'API GetAsyncKeyState_ ne fonctionne pas, c'est que tu as une version de demo de PureBasic.
Touche F8 pour afficher ou pas la fenêtre.
Double-clic souris sur l'icone en systray pour afficher la fenêtre.
Clic droit sur sur l'icone en systray pour un menu contextuel.
la touche F8 est détectée dans un thread.
Code : Tout sélectionner
Enumeration
#Mainform
#MenuPopUp
EndEnumeration
Global MainformStatus.b
Procedure ShowHideWindow(*Value)
Repeat
If GetAsyncKeyState_(#VK_F8) & $1
If MainformStatus = #False
HideWindow(#MainForm, #False)
MainformStatus = #True
Else
HideWindow(#Mainform, #True)
MainformStatus = #False
EndIf
EndIf
ForEver
EndProcedure
OpenWindow(#MainForm, 100, 150, 300, 100, "SysTray Test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreatePopupMenu(#MenuPopUp)
MenuItem(0, "Afficher la fenetre")
MenuItem(1, "Quitter")
HideWindow(#Mainform, #True)
AddSysTrayIcon(1, WindowID(#Mainform), LoadIcon_(#Null, #IDI_WARNING))
SysTrayIconToolTip(1, "Touche F8" +#CRLF$+ "Pour afficher la fenetre")
CreateThread(@ShowHideWindow(), #Null)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Menu
Select EventMenu()
Case 0
HideWindow(#Mainform, #False)
Case 1
End
EndSelect
Case #PB_Event_SysTray
If EventType() = #PB_EventType_LeftDoubleClick
HideWindow(#Mainform, #False)
EndIf
If EventType() = #PB_EventType_RightClick
DisplayPopupMenu(#MenuPopUp, WindowID(#Mainform))
EndIf
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- microdevweb
- Messages : 1802
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: Raccourci clavier sur Fenêtre Masquée
Bonjour falsam,
Un grand merci cela fonctionne Nickel...
C'est ça que je cherchais.
Un grand merci cela fonctionne Nickel...
C'est ça que je cherchais.

Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Work at Centre Spatial de Liège