Création d'un static transparent

chrcharles Messages postés 11 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 4 juillet 2006 - 18 juil. 2003 à 10:27
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 18 juil. 2003 à 14:08
Bonjour,

Par un CreateWindowEx(0, "STATIC", "", WS_CHILD | WS_VISIBLE, 37,43,302,23, hParent, (HMENU)IDC_TITRE, hInst, NULL) ... je cherche à créer un static ayant un fond d'écran transparent.

Comment puis-je opérer cette opération ?

Merci d'avance pour vos réponses.

chrc :)

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 juil. 2003 à 10:33
WS_EX_TRANSPARENT, tu as exemple dans ma source "texte sur image".
BruNews, ciao...
0
chrcharles Messages postés 11 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 4 juillet 2006
18 juil. 2003 à 12:24
Bonjour BruNews,

Je ne passe pas par le Wizard de Visual C++ pour créer mon Window et mes Control Box. De plus mon Static doit s'afficher sur une image bitmap.

Sur tes conseils, j'ai essayé : g_hTitre = CreateWindowEx(WS_EX_TRANSPARENT, "Static", "Essai", WS_CHILD | WS_VISIBLE , 37,43,302,23, hParent, (HMENU)IDC_TITRE, hInst, NULL); ...

Mais, le mot "Essai" s'affiche en noir dans un rectangle GRIS.

Alors, je cherche une solution vers la création d'une classe WNDCLASSEX, avec .hbrBackground = (HBRUSH) NULL .
J'obtiens bien un fond transparent. Mais, je dois implémenter une procédure de traitement des messages... :-p
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 juil. 2003 à 12:35
Tu as vu que tout est implemente dans mon exemple avec texte modifiable dynamiqement.
BruNews, ciao...
0
chrcharles Messages postés 11 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 4 juillet 2006
18 juil. 2003 à 13:40
Avant de te répondre, j'avais été voir ton code "Texte sur image". La difficulté pour moi, se situe dans la non utilisation du wizard pour créer ma fenêtre et mes control box.

Pour utiliser tes exemples, j'ai fait la chose suivante :

g_hTitre = CreateWindowEx(WS_EX_TRANSPARENT, "Static", "", WS_CHILD /*| WS_VISIBLE*/ , 37,43,302,23, hParent, (HMENU)IDC_TITRE, hInst, NULL);

HWND hCtrl = GetDlgItem(hParent, IDC_TITRE);
SetWindowPos(hCtrl, HWND_TOP, 37,43,302,23, SWP_SHOWWINDOW);

HDC hDC = GetDC(hCtrl);
SetBkMode((HDC)hDC, TRANSPARENT);
SetTextColor((HDC)hDC, 0xFF);

...

Mais rien à faire le static possède toujours son fond GRIS !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 juil. 2003 à 13:44
faut regarder TOUT le cpp et surtout la dlgproc, c'est dedans que l'on traite sa demande de repaint. J'ai juste utilise l'editeur de resource, JAMAIS aucun wizard.
BruNews, ciao...
0
chrcharles Messages postés 11 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 4 juillet 2006
18 juil. 2003 à 13:58
J'ai fait une faute de vocabulaire :
"...La difficulté pour moi, se situe dans la non utilisation de l'éditeur de resource pour créer ma fenêtre et mes control box. "

Car en fait ma dialog box est un skin, donc une image Bitmap inter-changeable. C'est pour cette raison que je crée tout à la main. Il n'y donc pas de dlgproc pour le Static.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 juil. 2003 à 14:08
tu passes hParent a CreateWindoxEx, c'est quoi ? tu n'as pas une func callback pour les messages sur ce hParent ?
BruNews, ciao...
0
Rejoignez-nous