Bonjour,
Dans le OnInitDialog d'une boite de dialogue je veux faire:
Or ça ne m'affiche rien.Code:
1
2
3 CPaintDC dc(this); dc.drawText(.......);
Il n'est pas possible de faire un drawText dans une boite de dialogue ?
:roll:
Version imprimable
Bonjour,
Dans le OnInitDialog d'une boite de dialogue je veux faire:
Or ça ne m'affiche rien.Code:
1
2
3 CPaintDC dc(this); dc.drawText(.......);
Il n'est pas possible de faire un drawText dans une boite de dialogue ?
:roll:
salut,
si mais pas comme ça ....
un dessin doit être fait dans un message OnDraw ,OnPaint suivant les classes
dans le cas d'une dialogue il est plus facile de passer par un objet owner draw dédié au dessin, comme ça la logique de dessin général de la dialogue est respectée.
voir faq pour le principe : http://cpp.developpez.com/faq/vc/?pa...awBitmapInCtrl
et cet exemple: http://farscape.developpez.com/Samples/TestGraph.zip
Salut,
Comme dit farscape, une boite de dialogue ne dessine rien (hormis le fond), c'est simplement une fenetre conteneur.
Maintenant si tu veux forcer, tu peux utiliser CClientDC au lieu de CPaintDC (CPaintDC a n'utiliser que dans OnPaint d'ailleurs ... )
Pour faire bien les choses : faut faire un controle static (ou autre) et surclasser ce controle pour dessiner dedans.
@+
Voilà,
C'est ce que je viens de faire:
En plus, c'est une police plus belle que DrawText et c'est vite fait.Code:
1
2
3 CString str; ((CStatic*)GetDlgItem(IDC_STATIC))->SetWindowText(str);
J'avais laissé tomber cette méthode car je voulais dans l'éditeur de resource, entrer la chaine de caractère en dur et j'étais limité à 256 octets.
J'avais pas cherché à le faire dynamiquement.
Le problème est réglé !
Merci !:D
heu ça n'a rien a voir avec le sujet initial ....