begin process at 2012 05 30 01:59:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

problème avec les couleurs de la fonction BRUSH


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

problème avec les couleurs de la fonction BRUSH

samedi 8 octobre 2005 à 21:36:29 | problème avec les couleurs de la fonction BRUSH

ketchupy45

Membre Club
Bonjour, voila j'ai une petit application (qui sert aps à grand chose pour l'instant) où je change la couleur d'un rectangle en cliquant dessus. Ca amrche tres bien en gris, blanc et gris foncé, mais je voudrais le faire avec un code couleur RGB (red, green, blue). Je fais une applivcation SDI avec visual studio .net 2003 où je rajoute/remplace :
AppView.h
private:
int m_nColor;
CRect m_rectEllipse;
AppView.cpp
CAppView::CAppView() {
m_nColor = GRAY_BRUSH;
m_rectEllipse.SetRect(0,0,200,200);
}
CAppView::OnDraw() {
// sélection d’un ojbjet GDI, pen, brush, etc
pDC->SelectStockObject(m_nColor);
// dessine une éllipse
pDC->Ellipse(m_rectEllipse);
}

void CAppView::OnLButtonDown(UINT nFlags, CPoint point)
{
if (m_rectEllipse.PtInRect(point))
if (m_nColor == GRAY_BRUSH)
m_nColor = WHITE_BRUSH;
else
m_nColor = GRAY_BRUSH;
InvalidateRect(m_rectEllipse);
CView::OnLButtonDown(nFlags, point);
}

où App est le nom de l'application.

Est ce que vous pourriez m'indiquer comment faire (j'ai essayer (R,G,B)_BRUSH en remplaçant RG B par 250 0 0 mais ça amrche pas). Merci d'avance de votre aide qui me sera precieuse pour une application que je compte développer.

samedi 8 octobre 2005 à 21:40:56 | Re : problème avec les couleurs de la fonction BRUSH

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Tu n'a pas de stock object pour chaque couleur. Pour d'autres couleurs, tu dois créer toi même un brush, avec CreateSolidBrush
En MFC c'est la classe CBrush qui encapsule HBRUSH, le constructeur te permet de spécifier la couleur:
CBrush brush(255, 0, 0); va te créer un CBrush rouge
samedi 8 octobre 2005 à 21:49:53 | Re : problème avec les couleurs de la fonction BRUSH

ketchupy45

Membre Club
Je te remercie beaucoup mais est ce que tu pourrais me donner plus de précision ? par exemple en modifiant les parties qu'il faut sur le code que j'ai mis 
samedi 8 octobre 2005 à 22:50:53 | Re : problème avec les couleurs de la fonction BRUSH

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
CAppView::CAppView()
{
  m_nColor = 0;
  m_rectEllipse.SetRect(0,0,200,200);
}

CAppView::OnDraw()
{
  CBrush b(RGB(m_nColor, 0, 0));
  // sélection d’un ojbjet GDI, pen, brush, etc
  pDC->SelectObject(b);
  // dessine une éllipse
  pDC->Ellipse(m_rectEllipse);
}

void CAppView::OnLButtonDown(UINT nFlags, CPoint point)
{
  if(m_rectEllipse.PtInRect(point))
  {
    m_nColor++;
    m_nColor &= 0xFF;
  }
  InvalidateRect(m_rectEllipse);
  CView::OnLButtonDown(nFlags, point);
}

Le carré est noir au debut, et devient de + en + rouge
dimanche 9 octobre 2005 à 09:33:14 | Re : problème avec les couleurs de la fonction BRUSH

ketchupy45

Membre Club
Salut , je ne comprends aps cette ligne la :

m_nColor &= 0xFF;


dimanche 9 octobre 2005 à 10:00:51 | Re : problème avec les couleurs de la fonction BRUSH

vecchio56

Administrateur CodeS-SourceS
La composante en rouge va de 0 à 255 (0xFF). Comme j'incrémente a chaque fois, je vais finir par dépasser 255, donc le & permet de rester dans l'intervalle (en fait   m_nColor passera à 0 après 255). Tu cliques 256 fois et tu verra que ton carré redevient noir


Cette discussion est classée dans : application, brush, ncolor, rectellipse, cappview


Répondre à ce message

Sujets en rapport avec ce message

Cacher un onglet de la barre des taches avec une application console [ par dot ] comment fait on pour cacher un onglet de la barre des taches avec une application console??merci d'avance changé curseur dans application Win32 [ par Stoomm ] Bonjour, j'aimerais chargé un curseur autre que celui par défault dans une appli Win32.Quelqu'un peut il me donner la marche à suivre svp.Merci d'avan changé curseur dans application Win32 [ par Stoomm ] Bonjour, j'aimerais chargé un curseur autre que celui par défault dans une appli Win32.Quelqu'un peut il me donner la marche à suivre svp.Merci d'avan Application type boite de dialogue [ par Sophia ] Bonjour,j'utilise borland c++ 5.02 et je voudrais faire une application type boite de dialogue.Avec les fonctions DialogBox, CreateDialog,CreateDialog Word 8.0 & HTML avec C++ comment ??? [ par mbgh ] J'ai quelques articles écrits en Word 8.0 ( et en HTML )je veux savoir comment les intégrer à une ApplicationMFC APP Wizard ... ( en Visual C++ )et co Salut je voudrai savoir comment faire pour lancer une appl. en C/C++ [ par jarodx64 ] comment faire pour lancer une application en C/C++ sur : - Win32: j'ai commencer un programme et je voudrai lancer une application externe Win16/32 (m zoomer une dilog based application [ par Jean-luc ] bonjour à tous,je commence à peine en CPP et je voudrais savoir comment puis je rendre le fenetre de mon application en pleine ecran ?j'utilise une fe [VC++] Taille du text dans une application console [ par Cybmat ] SalutVoila je voudrai savoir comment on change la taille du text ecrit dans uneapplication console avec printf() .Merci d'avance C++ recuperer les icones d'un exe ou d'une application [ par rerebozo ] BonjourComment faire pour charger les icones d'une application ou d'un exe Merçi envoie de mail kand clic sur une application .... [ par gijo ] je debute en c++ et j aimerais creer un programme permettant de recevoir un mail au moment où quelqu' un clic sur une application déterminé .... j esp


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,733 sec (3)

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