Bonjour,

Avant tout merci de votre intérêt pour mon problème !

J'essaie actuellement de régler la transparence d'une fenêtre (CDialog) déclarée et appelée comme suit :

CPopupAlert *popup = new CPopupAlert();
popup->Create(IDD_POPUP_ALERT, this);

popup->ShowWindow(SW_SHOW);


J'ai lu sur différents sites, que l'on pouvait spécifié la transparence d'une fenêtre ainsi :

int CPopupAlert::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;

// TODO: Add your specialized creation code here

ModifyStyleEx(0, WS_EX_TRANSPARENT);

float transparence = 0.1; // 0 < transparence < 1
SetLayeredWindowAttributes(0, 255 * transparence, LWA_ALPHA);

return 0;
}


J'ai bien essayé de compiler mais visual ne semble pas connaître la méthode "SetLayeredWindowAttributes" :

error C2065: 'SetLayeredWindowAttributes' : undeclared identifier
error C2065: 'LWA_ALPHA' : undeclared identifier

Du coup j'ai été voir sur msdn et j'ai essayé d'inclure dans le header de la classe le fichier :

include "windows.h"
mais ... sans succès!

J'ai essayé de contourner le problème en cherchant d'autres méthodes, mais rien de bien concluant, du coup là je séche un peu, c'est pourquoi je me retourne vers vous car je sais que vous avez toujours réponse à tout.

(Petite remarque : je suis bien sur xp, et pas sous win9x...)

Merci d'avance!