DLL : FENÊTRES MULTIFORMES, EFFET DE FONDU... XP ET 2000 UNIQUEMENT.

VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 - 8 juin 2002 à 18:56
dglaneuville Messages postés 1 Date d'inscription vendredi 28 juillet 2006 Statut Membre Dernière intervention 30 janvier 2010 - 30 janv. 2010 à 15:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/3563-dll-fenetres-multiformes-effet-de-fondu-xp-et-2000-uniquement

dglaneuville Messages postés 1 Date d'inscription vendredi 28 juillet 2006 Statut Membre Dernière intervention 30 janvier 2010
30 janv. 2010 à 15:48
Comment peut mettre + de 1 à une source si mal documentée et si.... j'trouve pas les mots
kzimir666 Messages postés 44 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 24 septembre 2006
2 juin 2003 à 22:05
comment obtiens-t-on le handle de la fenêtre ?
Peux-tu donner un exemple d'appel de ta fonction avec des noms et des valeurs... Ce sera plus facile à comprendre...
(un débutant qui veut apprendre)
cs_Agaga Messages postés 36 Date d'inscription mercredi 11 avril 2001 Statut Membre Dernière intervention 14 septembre 2006
11 juin 2002 à 21:41
ouai mais ça ne génère pas de code en plus et donc il n'y a aucune inflence sur les perfs ou la taille de l'app donc c'est un problème pas vraiement....problématique.
Mais si vraiement tu veux connaître le systeme utilise la fonction GetSystemInfo.
Utilisateur anonyme
11 juin 2002 à 13:48
ben en fait, tu peux pas mettre de on error goto avant la declaration des api, c'est ca le pb
cs_Agaga Messages postés 36 Date d'inscription mercredi 11 avril 2001 Statut Membre Dernière intervention 14 septembre 2006
10 juin 2002 à 22:19
pas besoin, normalement le code de la dll gère ça : avec un on error goto ...
maintenant si tu tiens vraiement à détecter l'os voir api :
Declare Sub GetSystemInfo Lib "kernel32" Alias "GetSystemInfo" (lpSystemInfo As SYSTEM_INFO)

a+
Utilisateur anonyme
10 juin 2002 à 12:41
evidemment ke ca ne, marche pas sous win9x, l'api SetLayeredWindowAttributes n'existe ke depuis win2000.
dailleurs, si kelkun a une idee geniale pour detecter l'os pour savoir s'il faut declarer l'api ou pas, un truc du genre
#if OS="Win2k" then
public declare function SetLayeredWindowAttributes(etc, etc...) as long
#end if
paske j'ai pas encore trouvé le moyen de le faire
je sais seulement reconnaitre win16 du win32 pour info c'est
#if win16 then
blabla...
#elseif win32 then
blablabla...
#end if

bon si kelkun a une idee, laissez moi un message

a plus, AdCr
cs_Agaga Messages postés 36 Date d'inscription mercredi 11 avril 2001 Statut Membre Dernière intervention 14 septembre 2006
9 juin 2002 à 14:38
Manson :
C'est exactement ce que j'ai fait... Je l'ai mise dans une dll pour en failiter l'utilisation(plus de déclaration d'api, de problèmes avec les constantes...)
cs_Manson Messages postés 137 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 30 septembre 2004
9 juin 2002 à 07:43
Mouarf !

Autant chopper la fonction SetLayeredWindowAttributes(), dans shell32.dll, elle fait exactement la meme chose que la tienne !

Enfin bon, bon travail quand meme !
lumesh Messages postés 564 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 7 novembre 2008
8 juin 2002 à 22:14
marche po ss win95 ! domage !
cs_Agaga Messages postés 36 Date d'inscription mercredi 11 avril 2001 Statut Membre Dernière intervention 14 septembre 2006
8 juin 2002 à 21:15
heu... je croyais l'avoir fait... A moins que tu ne parles du code de la DLL?
cs_theboss Messages postés 10 Date d'inscription lundi 15 avril 2002 Statut Membre Dernière intervention 7 juillet 2002
8 juin 2002 à 21:08
Tu pourrais un peu expliquer comment ca marche STP?
THEBOSs***
cs_Agaga Messages postés 36 Date d'inscription mercredi 11 avril 2001 Statut Membre Dernière intervention 14 septembre 2006
8 juin 2002 à 21:03
Vico :
Y'a pas de form car je n'ai pas prévu de test...
Mais si tu veux le tester c'est très simple :
Charge mon projet DLL
dans le menu Fichier choisi Ajouter un projet...
Ensuite choisi "exe standard" et dans le menu "projet->Références" coche "fenêtres multiformess AGAGA - <|:O)".
choisi comme image de fond de la fenêtre une image contenant par exemple du noir (et d'autres couleurs quand même...)
ensuite dans Form_Load entre :
bln=FORME(me.hwnd,vbblack,191,MF_Opacity OR MF_TransparencyColor)
si bln renvoie true alors pas de probleme sinon, soit t'as pas la bonne version de windows...soit y'a un bug :)

voila, c'est pas plus compliqué !
VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 2
8 juin 2002 à 19:50
ouais mais ya pas de form pour tester dans ton zip ?? juste le module :)
Alors bon... Dépèche toi de l'uploader au complet !! @+
VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 2
8 juin 2002 à 18:56
Dépèche toi de l'uploader !! :)
Rejoignez-nous