Boite de dialogue

fathiamine Messages postés 4 Date d'inscription vendredi 9 avril 2010 Statut Membre Dernière intervention 19 mai 2010 - 19 mai 2010 à 00:27
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 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));

1 réponse

cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
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.



louis
0
Rejoignez-nous