Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1915 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  problème de style de dessin d'un rectangle

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de style de dessin d'un rectangle

n°1796732
cyte
Posté le 07-10-2008 à 19:03:55  profilanswer
 

Bonjour,
 
J'essaie de dessiner un rectangle en appliquant un Brush et un Pen spécifiques.
Pour ça, j'ai repris l'exemple de MSDN :
 

Code :
  1. CRect rect;
  2. this->GetDlgItem(IDC_CADRE)->GetClientRect(rect);
  3. // create and select a solid blue brush
  4. CBrush brushBlue(RGB(0, 0, 255));
  5. CBrush* pOldBrush = this->GetDC()->SelectObject(&brushBlue);
  6. // create and select a thick, black pen
  7. CPen penBlack;
  8. penBlack.CreatePen(PS_SOLID, 3, RGB(0, 0, 0));
  9. CPen* pOldPen = this->GetDC()->SelectObject(&penBlack);
  10. // shrink our rect 20 pixels in each direction
  11. //rect.DeflateRect(20, 20);
  12. // draw a thick black rectangle filled with blue
  13. this->GetDC()->Rectangle(rect);
  14. // put back the old objects
  15. this->GetDC()->SelectObject(pOldBrush);
  16. this->GetDC()->SelectObject(pOldPen);


 
où IDC_CADRE est un picture control de mon IHM
 
=> Plutôt que d'avoir un rectangle, de taille de IDC_CADRE, bleu et encadré d'un trait noir épais, j'ai le rectangle à la bonne dimension mais il est blanc et entouré d'un cadre noir fin (styles par défaut je pense)!!!
 
Donc, j'aimerais savoir pourquoi ça se comporte comme ça alors que je change les CBrush et Cpen avant de dessiner ce rectangle!!
 
Merci d'avance.

mood
Publicité
Posté le 07-10-2008 à 19:03:55  profilanswer
 

n°1796763
tpierron
Posté le 07-10-2008 à 20:40:10  profilanswer
 

Hmm, au hasard ton "this->GetDC()" va te créer un nouveau Device context à chaque que tu l'appelles et sera initialisé avec les styles par défaut.
 
Donc sauvegarde le pointeur au premier appel et réutilise cette valeur ensuite. Je ne connais pas trop les MFC, mais normallement un DC doit être libéré avec ReleaseDC(dc), sous peine de memory leak.

n°1796766
cyte
Posté le 07-10-2008 à 20:59:23  profilanswer
 

ok merci,
 
J'essaie ça!!!

n°1796768
cyte
Posté le 07-10-2008 à 21:02:03  profilanswer
 

ça marche bien mieux!!!!!
 
Merci beaucoup!!!!!!!!!!!!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  problème de style de dessin d'un rectangle

 

Sujets relatifs
Joomla 1.X - Problème de syndicationSite contributif du style Blog commun
C problèmeErreurs de compilation
Problème son pour site internet en flash[résolu] Problème de bitfields et d'alignement
Problème d'execution de module perlProblème d'ordre de superposition une image affichée avec onmouseover
probleme C (surement facile a regler )probleme affichage site
Plus de sujets relatifs à : problème de style de dessin d'un rectangle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR