Accueil > Forum > > > > [WIN32]Histoires de couleurs...
[WIN32]Histoires de couleurs...
lundi 7 juin 2004 à 17:44:48 |
[WIN32]Histoires de couleurs...

Jeffray
|
Bonjour, Je créé 2 edit à l'aide de CreateWindowEx() en readonly (style ES_READONLY). Jusqu'à maintenant, la couleur de fond de ces 2 edit était grise. Maintenant, toujours avec CreateWindowEx(), je rajoute un static dans lequel je mets un texte. Ce texte, je le veux en rouge. Je mets donc le code suivant dans la procédure de callback de ma fenêtre mère : case WM_CTLCOLORSTATIC: { if( GetWindowLong((HWND)lParam, GWL_ID) == ID_ERREUR ) { SetTextColor( (HDC)wParam, RGB(0xFF,0,0) ); SetBkMode( (HDC)wParam, TRANSPARENT ); return (LRESULT)GetStockObject(NULL_BRUSH); } } break;
|
çà marche, le texte est bien en rouge. Mais ce que je ne comprends pas, c'est qu'avec le code ci-dessus, la couleur de fond de mes 2 edit en readonly est passée au blanc. Pourquoi ? Merci ! :o)
|
|
lundi 7 juin 2004 à 17:57:16 |
Re : [WIN32]Histoires de couleurs...

BruNews
|
Un EDIT readonly reagit au WM_CTLCOLORSTATIC (eh oui), alors verifie bien tes IDs et ta windproc.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
lundi 7 juin 2004 à 18:10:19 |
Re : [WIN32]Histoires de couleurs...

vecchio56
|
pour la couleur de fond, c'est la valeur de retour qui importe
HBRUSH hRedBrush = CreateSolidBrush(255);
...
case WM_CTLCOLORSTATIC: { if( GetWindowLong((HWND)lParam, GWL_ID) == ID_ERREUR ) { SetTextColor( (HDC)wParam, RGB(0xFF,0,0) ); SetBkMode( (HDC)wParam, TRANSPARENT ); return (LRESULT)hRedBrush; }
} break;
|
|
lundi 7 juin 2004 à 18:30:29 |
Re : [WIN32]Histoires de couleurs...

vecchio56
|
au temps pour moi j'ai dit n'importe quoi Par contre j'ai essayé ce que tu as dit, et les fonds restent gris...
|
|
lundi 7 juin 2004 à 18:35:21 |
Re : [WIN32]Histoires de couleurs...

Jeffray
|
çà y est j'ai compris : le problème venait du fait que l'instruction return se trouvait dans le if. Dans les autres cas (et donc pour les edit readonly), le case ne renvoyait rien. Pour modifier seulement la couleur du texte de ce static, il faut faire comme ceci : case WM_CTLCOLORSTATIC: { SetBkMode( (HDC)wParam, TRANSPARENT ); if( (GetWindowLong((HWND)lParam, GWL_ID)) == ID_ERREUR ) { SetTextColor( (HDC)wParam, RGB(0xFF,0,0) ); } return (LRESULT)GetStockObject(NULL_BRUSH); } break;
|
Merci ! 
|
|
lundi 7 juin 2004 à 18:38:16 |
Re : [WIN32]Histoires de couleurs...

Jeffray
|
>>> Par contre j'ai essayé ce que tu as dit, et les fonds restent gris...
Ben alors là, je ne comprends pas. bizarre...
|
|
lundi 7 juin 2004 à 18:44:20 |
Re : [WIN32]Histoires de couleurs...

vecchio56
|
peu importe, ce n'est pas ce que tu veux faire
|
|
lundi 7 juin 2004 à 23:13:52 |
Re : [WIN32]Histoires de couleurs...

Jeffray
|
Arf !!! Finalement, je me suis aperçu en faisant la modification ci-dessus que j'avais un gros bug d'affichage dans mon programme, avec les fameux edit. Et j'ai enfin trouvé la solution : mon code du début était bon, mais j'avais oublié un détail très important de la documentation, à propos du message WM_CTLCOLORSTATIC :
Default Action
The DefWindowProc function selects the default system colors for the static control.
Voilà le pourquoi :o)
|
|
Cette discussion est classée dans : code, texte, edit, win32, readonly
Répondre à ce message
Sujets en rapport avec ce message
Coloration de texte dans un EDIT (API WIN32) [ par Nebula ]
---Hum, apparemment mon premier post n'est pas passé, je retente le coup !---Tout est dit dans le sujet...Petites précisions : je ne travaille qu'en C
Coloration de texte dans un EDIT (API WIN32) [ par Nebula ]
Tout est dit dans le sujet...Petites précisions : je ne travaille qu'en C, et j'aimerais savoir si la chose est possible, car les RICHEDIT sont (beauc
générer code api win32 [ par zwei ]
bonjour à tous,lorsqu'on crée une fenetre avec des boutons avec la MFC sous VC++ par exemple, le code est générer automatiquement.existe t-il la meme
Comment faire un \n dans un edit? [ par by_rabbit_08 ]
Bonjour!Grâce à la fonction SetDlgItemText, je cherche à inscrire du texte dans un edit. Dans ce texte, il y a un \n pour un retour à la ligne.Mais lo
recuperer texte edit box [ par etienne22 ]
Bonjours a tous,Je travail sous visual c++ 2005 et j'aimerai savoir comment recuperer le texte tape par l'utilisateur de mon programme dans un variabl
Pb Edit Control [ par issamery ]
bonjour, j'ai une application MDI sous VC++ 2009, j'y ai inseré un chrono, que je voudrais qu'il s'affiche dans un edit control mis dans un pannel,
lecture d'un fichier texte [ par noussa44 ]
Bonjour à tous, j'ai des nombres réels dans un texte je veux stocker ces réels dans un tableau. J'ai fait un petit code mais ca marche pas[^^yeuxenl
ENTER dans une zone de texte [ par anthraxx ]
Comment on fait pour que lorsque l'utilisateur, en train de taper un texte dans un controle "EDIT", tape entrée, une fonction soit appelée?J'ai pas tr
Besoin d'aide pour Directx 8/9 [ par TheBestofComputer ]
Je voudrais savoir quelle est le code pour crée un texte en 3D(le plus simple possible) et le code pour ajouter une texture a une vertrice ainsi qu'au
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|