Dessiner ds 1 bdd

Résolu
matty30 Messages postés 34 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 6 juillet 2008 - 23 déc. 2005 à 17:42
matty30 Messages postés 34 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 6 juillet 2008 - 23 déc. 2005 à 21:29
Bonjour,

Je sais dessiner dans une boite de dialogue mais j'aimerais bien mettre tout ce code dans une méthode Afficher() dans un autre fichier .cpp afin d'alléger la méthode OnPaint() de ma bdd.
Le problème est : où appeler cette méthode Afficher() (dans le paint, le showWindow ou EraseBackground() ? ) et quels paramètres lui passer (CDC *pdc, CPaintDC, ... ??)

Merci d'avance
A+

8 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
23 déc. 2005 à 21:19
Quelle erreur as-tu?
Essaie ca:
void MaClasse::Affiche(CPaintDC& dc)
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
23 déc. 2005 à 18:17
On dessine quand on recoit WM_PAINT, donc en MFC ca doit être OnPaint. Le paramètre CPaintDC est obtenu en paramètre, tu ne t'en occupes pas
0
matty30 Messages postés 34 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 6 juillet 2008
23 déc. 2005 à 19:14
ok, je veux bien appeler ma méthode affiche() ds la méthode OnPaint()
mais aprés comment je fais pour dessiner dans affiche() ? je n'ai pas accés à CPaintDC dc(this)(étant donné que affiche() se trouve dans un autre fichier).

merci !
0
alf03 Messages postés 11 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 26 décembre 2005
23 déc. 2005 à 19:36
slt,

je dessine aussi dans une boite de dialogue avec pDC et j'aimerais savoir si on peut changer la couleur et l'épaisseur du trait quand on utilise pDC->LineTo()
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
23 déc. 2005 à 20:14
Le CPaintDC tu le passes en paramètre, ca semble évident

alf03> LineTo utilise le Pen courant. Pour changer la couleur/épaisseur du trait, tu choisis un autre pen (SelectObject)
0
matty30 Messages postés 34 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 6 juillet 2008
23 déc. 2005 à 21:15
merci, j'avais bien compris qui fallait le passer en paramètre, seulement, le compilateur m'indique une erreur quand je procède de la sorte :

void CDialBdd1::OnPaint() void MaClasse::Affiche(CPaintDC dc)
{ CPaintDC dc(this); {
m.Affiche(dc); dc.LineTo(210,615);

merci d'avance
0
matty30 Messages postés 34 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 6 juillet 2008
23 déc. 2005 à 21:17
petit souci de présentation; plutot comme ca :

void CDialBdd1::OnPaint()
{
CPaintDC dc(this);
m.Affiche(dc);
}

--------------------

void MaClasse::Affiche(CPaintDC dc)
{
dc.LineTo(210,615);
0
matty30 Messages postés 34 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 6 juillet 2008
23 déc. 2005 à 21:29
oui, ca marche beaucoup mieux !
je te remercie !!
0
Rejoignez-nous