fathiamine
Messages postés4Date d'inscriptionvendredi 9 avril 2010StatutMembreDernière intervention19 mai 2010
-
19 mai 2010 à 00:27
cs_louis14
Messages postés793Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention10 février 2021
-
19 mai 2010 à 08:47
Bonsoir a tt la communauté je veux cree une boite de dialogue non modale bon j ai commancer comme suivant :
J ai cree un view ‘SDI’ ou je vais cliquer avec le bouton gauche é hop la boite de dialogue s affiche initialisé avec une couleur donné :
1) J ai crée une classe mfc qui hérite de CDialog
2) J ai ajouté une donnée membre de type CBrush
3) J ai ajouté le message suivant Cdlg_maclass::OnCtlColor
4) La fonction OnCtlColor contienne le code suivant :
HBRUSH Cdlg_couleurDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
//HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Modifier ici les attributs du DC
// TODO: Retourner un autre pinceau si le pinceau par défaut n'est pas souhaité
return data_CBrush;
}
Mon probleme c que je n ai pas trouvé la fonction membre CDialog::OnInitDialog() ou je veux mettre le code suivant pour changer la couleur de cette derniere :
This->data_CBrush.CreateSolidBrush(RGB(rand()%255,rand()%255,rand()%255));
cs_louis14
Messages postés793Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention10 février 20218 19 mai 2010 à 08:47
Bonjour,
Tu ne dis pas quelle version d'IDE tu utilises pour l'initdialog. Mais je pense que tu peux mettre ta déclaration dans le constructeur directement afin que le pinceau soit disponible le plus tôt possible.