unionx
Messages postés190Date d'inscriptiondimanche 17 avril 2005StatutMembreDernière intervention18 mars 2009
-
16 nov. 2006 à 22:05
unionx
Messages postés190Date d'inscriptiondimanche 17 avril 2005StatutMembreDernière intervention18 mars 2009
-
18 nov. 2006 à 12:30
bonjour
je peux savoir comment peux faire le transparence d'une fenetre, cette commande n'est pas connu sous mon vc++ 6
SetLayeredWindowAttributes :(
et je me demande si il a une possiblité pour faire le transparence
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 18 nov. 2006 à 01:41
Une autre solution consiste à obtenir un pointeur sur la fonction SetLayeredWindowAttributes() contenu dans user32.dll.
Voici comment procéder:
// Définir en global les constantes à utiliser :
#define WS_EX_LAYERED 0x00080000
#define LWA_ALPHA 0x00000002
#define LWA_COLORKEY 0x00000001
// Définir un type de pointeur pour la fonction SetLayeredWindowAttributes:
typedef BOOL (WINAPI *pFonction)(HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);
// Obtenir le handle de user32.dll
HMODULE hDLL = GetModuleHandle("USER32.DLL");
// Obtenir un pointeur sur la fonction:
pFonction SetLayeredWindowAttributes = (pFonction) GetProcAddress(hDLL,"SetLayeredWindowAttributes");
Ainsi, cette fontion sera utilisable dans ton code avec VC6.
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 16 nov. 2006 à 23:59
Oh et puis tu ferais peut-être bien de télécharger la PSDK (et passer sous VC2005 du même coup). Comme ça, tu aura les lib les plus récentes (et le compilateur aussi).
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 17 nov. 2006 à 01:59
Salut,
Après avoir mis à jour VC6 ou téléchargé la version gratuite VC 2005 Express, il faudra permettre au compilateur de reconnaitre les fonctions comme SetLayaredWindowAttributes() qui n'existe que sur Windows 2000 et supérieur. Pour cela on ajoute la ligne suivante au tout début du code (avant #include <windows.h>):
#define _WIN32_WINNT 0x0500
Si on veut profiter des autres fonctions disponibles sur XP uniquement, il faut la remplacer par:
#define _WIN32_WINNT 0x0501
Vous n’avez pas trouvé la réponse que vous recherchez ?
unionx
Messages postés190Date d'inscriptiondimanche 17 avril 2005StatutMembreDernière intervention18 mars 2009 17 nov. 2006 à 22:34
snif snif sans succes la command SetLayeredWindowAttributes reste inconnu pour mon VC++6 , en plus j'ai pas trouver le compilateur vc2005 complet , je n'est que la beta de 2005 et il me dis comme erreur
fatal error C1083: cannot open include file: 'afxwin.h': No such file or directory
je pense qu'il a pas la MFC sur ce compilateur c'est pour ca :s
et je revien sous mon prefere vc++6 mais la commande marche plus et comme erreur je recoi ce message 'SetLayeredWindowAttributes' : undeclared identifier
Note:j'ai deja fais ce que tu m'as dis , la declaration de cette #define et j'ai telecharger PSDK :( marche plus sniff sniff
a l'aide je veux la transparence, merci avance
unionx
Messages postés190Date d'inscriptiondimanche 17 avril 2005StatutMembreDernière intervention18 mars 2009 18 nov. 2006 à 12:30
dis moi Mr [auteurdetail.aspx?ID=295159 racpp]comment peux merci les gens de ce site ?
ca marche :D et je suis content looooooool enfin le transparence et dans mes mains