| auteur : Progi1984 |
Ce code fonctionne sous Windows 2000 et supérieur. Il utilise l'API Windows.
Global Alpha.l = 50
If OpenWindow(0 , 100 , 200 , 200 , 200 , " Transparence fenêtre " )
If CreateGadgetList(WindowID(0 ))
ButtonGadget(0 , 0 , 0 , 100 , 100 , " Appliquer la transparence à la fenêtre " ,# PB_Button_MultiLine )
ButtonGadget(1 , 100 , 100 , 100 , 100 , " Changer la valeur de la transparence " ,# PB_Button_MultiLine )
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = # PB_Event_CloseWindow
Quit = 1
EndIf
If EventID = # PB_Event_Gadget
GadgetID = EventGadget()
If GadgetID = 0
SetWindowLong_(WindowID(0 ), # GWL_EXSTYLE , # WS_EX_LAYERED )
SetLayeredWindowAttributes_(WindowID(0 ), 0 , 255 * Alpha / 100 , # LWA_ALPHA )
EndIf
If GadgetID = 1
Alpha = Val(InputRequester(" Transparence " , " Valeur en % (entre 0 et 100) " , " 50 " ))
EndIf
EndIf
Until Quit = 1
EndIf
|
|
| auteur : Progi1984 |
La technique utilisée est l'utilisation d'une fonction fournie par PureBasic StickyWindow(). Le premier argument est l'identifiant de la fenêtre. Le second active ou désactive la mise au premier plan.
If OpenWindow(0 , 100 , 200 , 200 , 200 , " Fenêtre au premier plan " , # PB_Window_SystemMenu )
If CreateGadgetList(WindowID(0 ))
ButtonGadget(0 , 0 , 0 , 100 , 100 , " Activer " )
ButtonGadget(1 , 100 , 100 , 100 , 100 , " Désactiver " )
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = # PB_Event_CloseWindow
Quit = 1
ElseIf EventID = # PB_Event_Gadget
GadgetID = EventGadget()
If GadgetID = 0
StickyWindow(0 , # True )
SetWindowTitle(0 , " Premier plan activé " )
ElseIf GadgetID = 1
StickyWindow(0 , # False )
SetWindowTitle(0 , " Premier plan désactivé " )
EndIf
EndIf
Until Quit = 1
EndIf
|
|
| auteur : Progi1984 |
Dans ce cas, il faut utiliser l'API Windows.
Utilisez la touche [Echap] pour quitter le programme.
If OpenWindow(0 , 100 , 200 , 300 , 200 , " Désactive le bouton de fermeture " ,# PB_Window_SystemMenu )
hSysMenu = GetSystemMenu_(WindowID(0 ), # False )
RemoveMenu_(hSysMenu, # SC_CLOSE , # MF_BYCOMMAND )
DrawMenuBar_(WindowID(0 ))
Repeat
EventID = WaitWindowEvent()
If GetAsyncKeyState_(# VK_ESCAPE )
Quit = 1
EndIf
Until Quit = 1
EndIf
|
|
Consultez les autres F.A.Q's
Les sources présentés sur cette pages sont libre de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2008
Developpez LLC. Tout droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérets.
Cette page est déposée à la SACD.
|