[MFC] Dessin dans une boite de dialogue .
Bonjour
voila ,j'ai un probleme avec le dessin dans ma classe dérivée de CDialog.
voila en gros comment je procéde :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| void CTestDlg::OnMouseMove(UINT nFlags, CPoint point)
{
if((nFlags == MK_LBUTTON) && IsPointValid(d_Point) && IsPointValid(point))
{
HPEN drawpen = CreatePen(PS_SOLID,1,RGB(200,0,255));
CDC* cdc = GetWindowDC();
HDC hdc = cdc->GetSafeHdc();
SelectObject(hdc,drawpen);
MoveToEx(hdc,d_Point.x,d_Point.y,&d_Point);
LineTo(hdc,point.x,point.y);
DeleteObject(drawpen);
}
d_Point = point;
m_Xpos.Format("%d",point.x);
m_Ypos.Format("%d",point.y);
UpdateData(false);
CDialog::OnMouseMove(nFlags, point);
} |
d_Point est un CPoint variable membre de ma classe dans lequel je sauvegarde le poinr pour tracer un trait avec le nouveau point que je recois dans OnMouseMove() .
le Code conditionnel au début empeche de dessiner dans une partie de la boite de dialogue la ou il ya 2 boutons et 2 textes correspondants aux coordonnées qui sont mis a jour juste avant le UpdateData(false) .
Tout ca fonctionne , mais au bout d'un moment ca s'arrete de dessiner sans raison .
le trait de dessin ici est violet . ET juste avant que ca plante le trait passe noir sur 2 ou 3 cm ( a l'écran ) puis plus rien .
Si qq'un a une idée ? :)