begin process at 2010 02 10 11:30:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

changer le background d'une zone


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

changer le background d'une zone

mercredi 5 janvier 2005 à 00:03:04 | changer le background d'une zone

tdeco

Salut

Dans une boite de dialogue, j'ai une zone où je veux changer le couleur de fond et écrire du texte à l'intérieur. Pour cela je procède ainsi:

  case WM_PAINT:
   IHM_PaintDialog(hDlg);
  break;

  case WM_CTLCOLORSTATIC: 

   if( GetDlgCtrlID( (HWND)lParam ) == IDC_TEXTRESULT)
   {
    SetBkColor( (HDC)wParam, RGB(255,0,0) );
    return( (LRESULT)::GetSysColorBrush(COLOR_3DFACE) );
   }
break;

void IHM_PaintDialog(HWND hDlg)
{
   //affiche le résultat
   SetWindowText(GetDlgItem(hDlg,IDC_TEXTRESULT),"test")
}

Mon problème, c que le mot "test" s'écrit bien dans la zone, mais la couleur est affecté seulement sur la ligne du mot et pas sur toute la zone.

Quelqu'un peut -il m'aider?

Merci d'avance

mercredi 5 janvier 2005 à 00:24:21 | Re : changer le background d'une zone

BruNews

Administrateur CodeS-SourceS
SetBkMode((HDC) wParam, TRANSPARENT);

ciao...
BruNews, MVP VC++
mercredi 5 janvier 2005 à 09:16:59 | Re : changer le background d'une zone

tdeco

Maintenant je fais:

  case WM_CTLCOLORSTATIC: 
SetBkMode((HDC) wParam, TRANSPARENT);
   if( GetDlgCtrlID( (HWND)lParam ) == IDC_TEXTRESULT)
   {
    SetBkColor( (HDC)wParam, RGB(255,0,0) );
    return( (LRESULT)::GetSysColorBrush(COLOR_3DFACE) );
   }
break;

Mais là je n'ai plus de couleur

mercredi 5 janvier 2005 à 10:00:25 | Re : changer le background d'une zone

BruNews

Administrateur CodeS-SourceS
Et si tu le mettais dans le 'if' !!!

ciao...
BruNews, MVP VC++
mercredi 5 janvier 2005 à 11:31:09 | Re : changer le background d'une zone

tdeco

J'ai trouvé la solution
il fallait juste faire

return (BOOL) CreateSolidBrush(RGB(128, 0, 0));

au lieu de

return (BOOL)(GetSysColorBrush(COLOR_3DFACE));

mercredi 5 janvier 2005 à 11:49:19 | Re : changer le background d'une zone

BruNews

Administrateur CodeS-SourceS
Ben si prog tourne un bon moment, tu vas ecrouler les perfs par fuites de memoire.
Toute fonction Createxxxx de la GDI suppose un DeleteObject() associe.

ciao...
BruNews, MVP VC++
mercredi 5 janvier 2005 à 11:52:31 | Re : changer le background d'une zone

ymca2003

Réponse acceptée !
En gros tu crée ton HBRUSH au début du prog (var globale), tu le retourne pendant et tu le détruit à la fin.
mercredi 5 janvier 2005 à 12:03:29 | Re : changer le background d'une zone

tdeco

Ca marche merci



Cette discussion est classée dans : changer, couleur, hdlg, zone, background


Répondre à ce message

Sujets en rapport avec ce message

Comment changer la couleur d'une boite de dialog [ par LordDaedalus ] BonjourJe voudrais changer la couleur du fond d'une boite de dailogue (CDialog) de façon à ce qu'elle s'affiche au démarrage avec du bleu par exemple. comment changer la couleur d'une progressbar [ par xleureaud ] j'utilise c++builder etje voudrais changer la couleur d'une progressbar mais je sais pas comment changer la couleurje ne trouve pas cette propriéte Me setConsoleTextAttribute : bug ? [ par Bids ] Bonjour, Je me sers actuellement de la fonction setConsoleTextAttribute dans une application en mode console, pour modifier la couleur du texte affich comment se déplacer et changer de couleur en graphique [ par sparetime ] bonjourje dois expliquer graphiquement comment les calculs(genre somme ,produit..) se font dans une matrice (avec tc++).le gotoxy est sans effet en mo Couleur du texte [ par Vortex99011 ] En fait j'ai créé un une EditBox, mais je voudrais bien changer la couleur du texte. J'ai jusque là utilisé l'API CreateFont(...) pour changer la poli ListCtrl couleur de fond des cases [ par gus2647 ] Bonjour, Je viens de creer une listctrl et j aimerais changer le bkgcolor de la case en fonction de la valeur quelle contient (vert si positif, rouge Changer couleur et bckgrnd MFC dialog [ par DooMThEFlamE ] Je me demande comment insérer une image de bckgrnd sur un dialog en mfc ou meme comment changer la couleur de fond vive MFC Changer la couleur de l'elt sélectionné dans une combo [ par SBellieres ] Bonjour,Je voudrais savoir comment il faut faire pour changer la couleur de l'item qui est sélectionné dans une combobox (chez moi, c'est en bleu).Mer changer couleur d'un Tab Conttrol [ par samki ] Bonjour,J'aimerai savoir s'il y a une fonction pour changer la couleur et la police des onglets d'un Tab Control.Merci d'avance listview : comment changer individuellement la couleur d'une ligne? [ par cosmobob ] dans une listview, comment changer la couleur d'une ligne donnée ? lvm_settextcolor change la couleur de toutes les lignes.peut etre un moyen en utili


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales