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

 


Dernière réponse
Sujet : CListCtrl .. mettre de la couleur une ligne sur 2 ?
la viper la solution :  
 
header:
class CCustListCtrl : public CListCtrl
{
public:
 CCustListCtrl();
 
 //{{AFX_VIRTUAL(CCustListCtrl)
 //}}AFX_VIRTUAL
 
 virtual ~CCustListCtrl();
 
protected:
 //{{AFX_MSG(CCustListCtrl)  
 afx_msg void OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult);  
 //}}AFX_MSG
 
 DECLARE_MESSAGE_MAP()
};
 
cpp:
CCustListCtrl::CCustListCtrl()
{
}
 
CCustListCtrl::~CCustListCtrl()
{
}
 
 
BEGIN_MESSAGE_MAP(CCustListCtrl, CListCtrl)
 //{{AFX_MSG_MAP(CCustListCtrl)
  ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw)
 //}}AFX_MSG_MAP
END_MESSAGE_MAP()
 
// CCustListCtrl message handlers
void CCustListCtrl::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)  
{
 LPNMLVCUSTOMDRAW lplvcd = (LPNMLVCUSTOMDRAW)pNMHDR;
 
    switch(lplvcd->nmcd.dwDrawStage)
 {
 case CDDS_PREPAINT:
     *pResult = CDRF_NOTIFYITEMDRAW;
     break;
 
    case CDDS_ITEMPREPAINT:
     if(lplvcd->nmcd.dwItemSpec % 2)
     {
  lplvcd->clrText = RGB(128, 30, 30);
  lplvcd->clrTextBk = RGB(255,255,220);
     }
  else{
   lplvcd->clrText = RGB(0, 0, 0);
   lplvcd->clrTextBk = RGB(230,230,230);
  }
 
     *pResult = CDRF_DODEFAULT;
     break;
 }
}

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
la viper la solution :  
 
header:
class CCustListCtrl : public CListCtrl
{
public:
 CCustListCtrl();
 
 //{{AFX_VIRTUAL(CCustListCtrl)
 //}}AFX_VIRTUAL
 
 virtual ~CCustListCtrl();
 
protected:
 //{{AFX_MSG(CCustListCtrl)  
 afx_msg void OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult);  
 //}}AFX_MSG
 
 DECLARE_MESSAGE_MAP()
};
 
cpp:
CCustListCtrl::CCustListCtrl()
{
}
 
CCustListCtrl::~CCustListCtrl()
{
}
 
 
BEGIN_MESSAGE_MAP(CCustListCtrl, CListCtrl)
 //{{AFX_MSG_MAP(CCustListCtrl)
  ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw)
 //}}AFX_MSG_MAP
END_MESSAGE_MAP()
 
// CCustListCtrl message handlers
void CCustListCtrl::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)  
{
 LPNMLVCUSTOMDRAW lplvcd = (LPNMLVCUSTOMDRAW)pNMHDR;
 
    switch(lplvcd->nmcd.dwDrawStage)
 {
 case CDDS_PREPAINT:
     *pResult = CDRF_NOTIFYITEMDRAW;
     break;
 
    case CDDS_ITEMPREPAINT:
     if(lplvcd->nmcd.dwItemSpec % 2)
     {
  lplvcd->clrText = RGB(128, 30, 30);
  lplvcd->clrTextBk = RGB(255,255,220);
     }
  else{
   lplvcd->clrText = RGB(0, 0, 0);
   lplvcd->clrTextBk = RGB(230,230,230);
  }
 
     *pResult = CDRF_DODEFAULT;
     break;
 }
}
youdontcare au pire, faire le OnPaint() à la main ... :)
macray je réponds à ton crie du coeur !
Va sur ce sîtes:
 
www.cppfrance.com
 
peut-être que tu y trouveras ton bonheur, je sais pas,essaye...
 
macray
 :hello:
la viper help !! c un cri du coeur !
la viper pas grave .. merci qu'en meme :)
macray désolé je ne connais pas ! :hello:
la viper escusi mi !!!!
 
Visual C++ - MFC
macray Pardonne mon ignorance mais c'est quoi comme langage ?
la viper bonjour .. je voudrais savoir qu'elle etait l'astuce pour mettre de la couleur un ligne sur 2 dans un CListCtrl ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)