Problème de couleur de fond editbox (avec la source) [VC++ et MFC] - C++ - Programmation
Marsh Posté le 06-09-2002 à 20:46:31
subclasser tes contrôles edit ... donc créer une nouvelle classe edit qui paint en vert lors de l'effacement du fond, subclasser tes contrôles avec CWnd::SubclassDlgItem, et hop ...
et pourquoi changes-tu les couleurs ? c'est pas terriblement beau, moins lisible, et sûrement très chiant pour les daltoniens.
Marsh Posté le 06-09-2002 à 22:51:01
Merci,
C'est des essais , je fais des progs tout bête pour tester le tout quoi.
Aplus
Marsh Posté le 06-09-2002 à 15:19:47
Salut,
j'utilise les deux fonctions suivantes pour colorisé l'image.
Comment faire pour que l'editbox soit entièrement verte ?
Merci d'avance
BOOL CGenPerso2002Dlg::OnEraseBkgnd(CDC* pDC)
{
// Création d'un pinceau pour le background la fenêtre
CBrush backBrush (RGB(0,139,69));
// Sauvegarde de l'ancien pinceau
CBrush* pOldBrush = pDC->SelectObject(&backBrush);
CRect rect;
// Effacement de la zone à nettoyer
pDC->GetClipBox(&rect);
// Peinture
pDC->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(),PATCOPY);
// Remise dans l'état précédent
pDC->SelectObject(pOldBrush);
return TRUE;
return CDialog::OnEraseBkgnd(pDC);
}
HBRUSH CGenPerso2002Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hBrush = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
switch (nCtlColor)
{
case CTLCOLOR_BTN : // pour les boutons
//if ( pWnd->GetDlgCtrlID () == IDC_GENERATION ) {
//pDC->SetTextColor (RGB(255,215,0));
//pDC->SetBkColor (RGB(0,139, 69));};
break ;
case CTLCOLOR_STATIC :
pDC->SetTextColor (RGB(255,210,0));
pDC->SetBkColor (RGB(0,139, 69));
break ;
case CTLCOLOR_EDIT :
pDC->SetBkColor (RGB(0,139,69));
pDC->SetTextColor (RGB(255,215,0));
pDC->SetBkMode (OPAQUE);
break ;
default:
break;
};
return hBrush ;
}