Fenetre transparante

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Fenetre transparante

Message par brossden »

Bonjour

Tout es dans le titre comment faire pour qu'une fenêtre soit transparante.
J'avais eu une réponse mais le lien qui m'a été donné à l'époque ne marche plus #jaune merci au Soldat Inconnu :10: et à Denis :10: s'ils lisent ces mots !
Denis

Bonne Jounée à tous
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Code : Tout sélectionner

Declare SetWinTransparency(WinHandle.l, Transparency_Level.l)
LoadFont(1, "romand", 300 ) 
UseFont(1) 
Texte.s="ceci est un essai"
WindowID = OpenWindow(1, 50, 50, 200, 200,  #PB_Window_SystemMenu|#PB_Window_MinimizeGadget  , "hello") 
WindowID = WindowID(1) 

; Pour changer le niveau de transparence de la fenêtre
  ; Le niveau de transparence doit être compris entre 1 (transparence totale) et 255 (opaque) 

SetWinTransparency (WindowID(), 150) ; ici on appel la procedure de transparence de fenetre

Repeat
  UseFont(1) 
  Event=WaitWindowEvent()
  ; ici c'est la boucle principale 
  ; a toi de rajouter des gadgats
  ; ResizeWindow(10, 1000)  
  StartDrawing(WindowOutput()) 
  Locate(0, 0)  
  DrawText(Texte.s)  
  StopDrawing()  
Until Event=#PB_Event_CloseWindow 

 

Procedure SetWinTransparency(WinHandle.l, Transparency_Level.l)
  SetWindowLong_(WinHandle, #GWL_EXSTYLE, GetWindowLong_(WinHandle, #GWL_EXSTYLE) | $00080000) ; #WS_EX_LAYERED = $00080000
  If OpenLibrary(0, "user32.dll")
    CallFunction(0, "SetLayeredWindowAttributes", WinHandle, 0, Transparency_Level, 2)
    CloseLibrary(0)
  EndIf
EndProcedure


Dernière modification par Backup le mer. 29/déc./2004 17:35, modifié 2 fois.
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Re: Fenetre transparante

Message par Anonyme2 »

brossden a écrit :Bonjour

Tout es dans le titre comment faire pour qu'une fenêtre soit transparante.
J'avais eu une réponse mais le lien qui m'a été donné à l'époque ne marche plus #jaune merci au Soldat Inconnu :10: et à Denis :10: s'ils lisent ces mots !
Ca ne me dit rien :roll: et le code de Dobro doit être celui du soldat inconnu.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Ca ne me dit rien Rolling Eyes et le code de Dobro doit être celui du soldat inconnu
j'ai pas pretendu que c'etait le mien je repond a la question c'est tout !
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Dobro a écrit :
Ca ne me dit rien Rolling Eyes et le code de Dobro doit être celui du soldat inconnu
j'ai pas pretendu que c'etait le mien je repond a la question c'est tout !

Je répondais à Brossden et je ne pensais pas que tu prendrais ça de travers :?: , rien dit sur toi :!:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

pensais pas que tu prendrais ça de travers
pas pris de travers :D
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

:D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

j'ai juste oublié le " :D "

:D
Pingtix
Messages : 159
Inscription : mer. 03/nov./2004 15:30

Message par Pingtix »

Ca fonctionne avec tous les windows ou seulement XP ?
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Message par Guimauve »

Si je me souviens bien ça fonctione avec Win2000. Mais je suis certain que ça fonctionne avec Win XP. Pour les autres versions de windows ce n'est pas supporté.

A+
Guimauve
Pingtix
Messages : 159
Inscription : mer. 03/nov./2004 15:30

Message par Pingtix »

Pas supporté ? Ca veut dire que le programme plante ou que ca fonctionne et que la fenetre est normale ?
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

ça ne vas pas sur W98, mais sinon ouvre la DLL et teste si la fonction y est avant de l'utiliser, je crois que Le Soldat Inconnu l'avait fait.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Uniquement sur win 2000 et XP

Et le code n'est pas de moi, je me rapelle plus du nom de l'auteur, voir sur le musée si je me trompe pas
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Dsl de faire remonter un vieux post, mais plutot qu'en recréer un nouvo je préfère mettre ici ma question.

Voila, je voudrais savoir comment rendre l'arrière plan de ma fenêtre transparante, mais pas toute la fenêtre. Je m'explique :

Je voudrais avoir (pour mon lecteur MP3, cf zone débutant) un cadre arrondi et mettre une image d'arrière plan. Cf le screen du logiciel JetAudio :
Image

Merci d'avance
Lionel
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Répondre