[R] Fenêtre transparante

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
matheod
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mer. 07 juil. 2010 23:41
Status : Hors ligne

[R] Fenêtre transparante

#1

Message par matheod »

Bonjour,
je recherche à créer une fenêtre transparante.
En gros je souhaite pouvoir positionner des label, button, input etc. sans le fond de la fenetre (et sans fermer, réduire etc. d'ailleur).
J'ai regardé du coté de $WS_EX_TRANSPARENT mais ca masque juste fermer reduire etc.
Merci d'avance
bonne journée
Modifié en dernier par matheod le ven. 16 juil. 2010 23:09, modifié 1 fois.
Le "ça ne marche pas" est une conséquence commune découlant de l’absence de membres inférieures.
matheod
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mer. 07 juil. 2010 23:41
Status : Hors ligne

Re: [..] Fenêtre transparante

#2

Message par matheod »

ah j'ai trouvé ca :
http://autoit.fr/forum/viewtopic.php?f=4&t=4444

je test

edit : ne marche pas :-(
Le "ça ne marche pas" est une conséquence commune découlant de l’absence de membres inférieures.
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Fenêtre transparante

#3

Message par Yogui »

Si j'ai bien compris c'est WinSetTrans qu'il vous faut utiliser.

WinSetTrans($Form1, "", 100)

Faire varier la valeur en rouge pour tester

petit exemple :

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 447, 192, 124)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
  WinSetTrans($Form1, "", 100)
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
WEnd
matheod
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mer. 07 juil. 2010 23:41
Status : Hors ligne

Re: [..] Fenêtre transparante

#4

Message par matheod »

salut,
merci de ta réponse.
Hélas, ta fonction rend également transparent le contenu.
Si j'ai un input, et bien il sera transparent.
Ce que je veux, c'est juste que le fond de la fenetre soit transparent.
Merci
Le "ça ne marche pas" est une conséquence commune découlant de l’absence de membres inférieures.
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Fenêtre transparante

#5

Message par SagePourpre »

Ta GUI doit avoir comme style $WS_POPUP afin d'enlever la barre de titre
et $WS_EX_LAYERED comme style étendu afin de permettre la transparence.

Ensuite, tu dois utilise GuiSetBkColor et _WinAPI_SetLayeredWindowAttributes
afin de rendre ta fenêtre transparence, comme dans l'exemple suivant.

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <WinAPIEx.au3>


$gui = GUICreate('',500,500,-1,-1,$WS_POPUP, $WS_EX_LAYERED)
GUICtrlCreateButton('Bouton',100,100,100,100)

Local $color = 0x121314
GUISetBkColor($color, $gui)
_WinAPI_SetLayeredWindowAttributes($gui, $color)
GUISetState()


GUICtrlCreateLabel('Ceci est un texte sur fond transparent',50,50,300,30)
GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)


Sleep(5000)
 
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
matheod
Niveau 3
Niveau 3
Messages : 40
Enregistré le : mer. 07 juil. 2010 23:41
Status : Hors ligne

Re: [..] Fenêtre transparante

#6

Message par matheod »

merci beaucoup ça marche.
Le "ça ne marche pas" est une conséquence commune découlant de l’absence de membres inférieures.
Répondre