Rendre transparent le fond d'un CEdit - C++ - Programmation
Marsh Posté le 23-09-2008 à 11:22:22
Tu t'y prends mal, au lieu de tester le HDC, teste le contrôle en lui-même (son HWND) :
Code :
|
Je ne te garantis rien car je ne suis pas expert en MFC !
Marsh Posté le 23-09-2008 à 12:21:28
pas mieux!!! Mais merci tout de même d'avoir essayer de m'aider!!
la fonction OnCtrlColor() de la fenêtre principale est appelée pour chaque élément inclus dans cette fenêtre?
Marsh Posté le 23-09-2008 à 12:47:11
http://msdn.microsoft.com/en-us/li [...] S.80).aspx
Inspire-toi de l'exemple, tu nous diras si ca marche mieux avec
if(pWnd->GetDlgCtrlID() == IDC_TEST)
Je suis dubitatif.
Marsh Posté le 23-09-2008 à 13:12:21
ça marche mieux!!!! Je te connais pas mais t'es un chef!!!
Je dois retourner au boulot; ce soir j'essaie d'implémenter la fonction qui va rendre tranparent le fond du CEdit.
Je te tiens au courant!!
Marsh Posté le 23-09-2008 à 16:53:28
j'ai repris l'exemple de msdn comme envoyé dans le lien mais ça ne marche pas trop.
Contrairement à l'exemple, je n'ai pas défini de variable membre du type CBrush. Je vais l'ajouter mais je ne vois pas trop l'impact...
Marsh Posté le 23-09-2008 à 16:56:05
ah si, ça marche nickel.......
J'ai encorebeaucoup de lacunes en MFC!!!!!!!!!!
Encore merci pour tout!
Marsh Posté le 23-09-2008 à 16:58:38
et zut....
Autre soucis : fond transparent = fond de couleur du fond de la boite de dialogue parent à priori!!! Donc si le CEdit est au dessus d'une image bitmap de couleur verte par exemple, ce CEdit n'est plus tranparent...
Marsh Posté le 23-09-2008 à 17:30:06
ça marche en ajoutant :
m_brush.CreateStockObject(HOLLOW_BRUSH);
voilà...
Marsh Posté le 21-09-2008 à 19:40:23
salut à tous,
Je cherche à rendre transparent un CEdit (j'utilise VisualC++ 2008). Pour ça, j'ai vu qu'il fallait utiliser la fonction SetBkColor mais je ne sais pas intercepter le message WM_CTLCOLOR à destination du CEdit!!!!
voici le code dans la fonction OnCtlColor de la boite de dialogue principale dans laquelle il y a le CEdit :
=> je ne rentre jamaisdans la condition if!!
Comme vous pouvez l'imaginer je suis pas un pro...
Si quelqu'un peut m'aider!!!!!
Merci d'avance
Message édité par cyte le 22-09-2008 à 11:47:11