Fenetre transparente en win98

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Kwai chang caine
Messages : 7027
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Fenetre transparente en win98

Message par Kwai chang caine »

Bonjour a tous

J'ai trouvé ce splendide code :10: sur le forum us de netmaestro:

http://www.purebasic.fr/english/viewtop ... ransparent

Code : Tout sélectionner

OpenWindow(0,0,0,320,240,"",#PB_Window_ScreenCentered|#PB_Window_BorderLess) 
SetWindowLong_(WindowID(0),#GWL_EXSTYLE,GetWindowLong_(WindowID(0),#GWL_EXSTYLE)|#WS_EX_LAYERED) 
SetLayeredWindowAttributes_(WindowID(0),RGB(255,0,255),0,#LWA_COLORKEY) 
SetWindowColor(0,RGB(255,0,255)) 
CreateGadgetList(WindowID(0)) 
ButtonGadget(0,300,0,20,20,"X") 
StickyWindow(0,1) 

CreateImage(0,32,32) 
StartDrawing(ImageOutput(0)) 
  Box(0,0,32,32,RGB(255,0,255)) 
  Box(12,0,6,32,0) 
  Box(0,12,32,6,0) 
StopDrawing() 

ImageGadget(1,0,0,0,0,ImageID(0)) 
DisableGadget(1,1) 

quit = 0 
Repeat 
  ev = WaitWindowEvent() 
  Select ev 
    Case #WM_LBUTTONDOWN 
      SendMessage_(WindowID(0),#WM_NCLBUTTONDOWN,#HTCAPTION,0) 
    Case #PB_Event_Gadget 
      If EventGadget()=0 
        quit = 1 
      EndIf 
  EndSelect 
Until quit 
Il marche super sur w2000, j'aimerais savoir si c'est le cas avec W98.
Est ce quelqu'un a encore cet OS et peux l'essayer ??
Merci d'avance, car je voudrais etre sur si je l'utilise que mon appli ne plante pas a cause de ce code sur certaines machines.

Au passage, si quelqu'un a des remarques à faire, quant à la compatibilité, la fiabilité, ou autre, j'aimerais bien connaitre votre avis de connaisseur. :wink:
Car je vais baser mon prochain programme sur ce genre de code.

Merci a tous.
Bonne journée
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Fenetre transparente en win98

Message par gnozal »

Kwai chang caine a écrit :Il marche super sur w2000, j'aimerais savoir si c'est le cas avec W98.
Selon M$, non.

Minimum operating systems : Windows 2000
cf. http://msdn.microsoft.com/library/defau ... ibutes.asp
Avatar de l’utilisateur
Kwai chang caine
Messages : 7027
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Merci gnozal pour l'info. 8)

Autrement, comment trouve tu ce code ???
Y aurais t'il un equivalent qui fonctionne sur tous les OS ???

Encore merci
Bonne journée
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

Salut,

Ce code est très connu - ou plutot cette fonction Microsoft << SetLayeredWindowAttributes >> le reste n'étant que paramêtrage.

Par contre bah non désolé c'est la seule méthode et elle n'est applicable seulement que depuis Win2000.
Image
Avatar de l’utilisateur
Kwai chang caine
Messages : 7027
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Bonjour flype.

Dommage, c'etait trop top pour etre vrai :lol:
On se contentera de W2000

Je vais essayer de me rabattre sur le code de DOBRO qui est tres tres bien aussi :

http://purebasic.hmt-forum.com/viewtopi ... ente+dobro

Par contre chez moi qd je déplace la fenetre, ça fait des barres noires: 8O
Je lui ai posé la question, et j'attend sa reponse avec impatience..........

Bonne journée
Et encore merci
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Kwai chang caine a écrit :Bonjour flype.

Dommage, c'etait trop top pour etre vrai :lol:
On se contentera de W2000

Je vais essayer de me rabattre sur le code de DOBRO qui est tres tres bien aussi :

http://purebasic.hmt-forum.com/viewtopi ... ente+dobro

Par contre chez moi qd je déplace la fenêtre, ça fait des barres noires: 8O
Je lui ai posé la question, et j'attend sa reponse avec impatience..........

Bonne journée
Et encore merci
toujours pareil , le problème des aplis fenêtré, c'est de ne pas pouvoir avoir accès au VBL :?
un accès au VBL aurai pu limiter le problème :D
j'ai également ce genre de problème avec mon Horloge
:?

le problème vient du fait que j'utilise un rapide changement de taille de la fenêtre pour forcer le Redraw
car je ne connais pas l'api qui force un Redraw de fenêtre :?

ce changement de taille n'est pas ideal, car cela crée un phénomène de scintillement du a la désyncro avec la VBL

si quelqu'un connais un moyen pour forcer le redraw d'une fenêtre sans
faire appel a un changement de taille, n'hésitez surtout pas :D
Avatar de l’utilisateur
Kwai chang caine
Messages : 7027
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Dobro a écrit :si quelqu'un connais un moyen pour forcer le redraw d'une fenêtre sans
faire appel a un changement de taille, n'hésitez surtout pas :D
une chose est sure......y'en a au moins un qui n'a pas la solution.......
C'EST MOI :lol: :lol: :lol: :lol:

Bonne journée à toi et merci de ta reponse DOBRO
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel
Répondre