IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > Windows
        Comment régler la transparence d'une fenêtre ?
        Comment faire pour que ma fenêtre soit toujours au premier plan ?
        Comment désactiver le bouton de fermeture d'une fenêtre ?

rechercher
precedent    sommaire    suivant    telechargermiroir


Comment régler la transparence d'une fenêtre ?
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")
  ; Crée la liste de gadgets
  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

Comment faire pour que ma fenêtre soit toujours au premier plan ?
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)
  ; Crée la liste de gadgets
  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

Comment désactiver le bouton de fermeture d'une fenêtre ?
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)

  ; Retourne l'identifiant du menu système
  hSysMenu = GetSystemMenu_(WindowID(0), #False)
  ; Efface un élément du menu
  RemoveMenu_(hSysMenu, #SC_CLOSE, #MF_BYCOMMAND)
  ;Mise à jour du menu
  DrawMenuBar_(WindowID(0))
    
  Repeat
    EventID = WaitWindowEvent()

    If GetAsyncKeyState_(#VK_ESCAPE)
      Quit = 1
    EndIf

  Until Quit = 1
  
EndIf

rechercher
precedent    sommaire    suivant    telechargermiroir

Consultez les autres F.A.Q's


Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2008 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.