обновление данных

Artur1987

Active member
31.03.2007
31
0
#1
Возникла такая проблема. В программе можно рисовать прямоугольники, а толщина линии задаётся в диалоговом окне,вызывающемся из меню. Почему -то не происходит обновления данных из диалога , и толщина линии (m_uWidth) не меняется.вот код:

void CMyPainterView::OnMouseMove(UINT nFlags, CPoint point)
{
UpdateData(true);

CDC* pDC=GetDC();
MyDialog dlg;
CPen Pen2;

Pen2.CreatePen(PS_SOLID,dlg.m_uWidth,RGB(0,0,0));

pDC->SelectObject(Pen2);
pDC->Rectangle(FirstPoint.x,FirstPoint.y,point.x,point.y);

ReleaseDC(pDC);

UpdateData(false);
CView::OnMouseMove(nFlags, point);
}


А это на кнопку ОК в диалоге:

void MyDialog::OnOK()
{
UpdateData(true);
CDialog::OnOK();
UpdateData(false);
}

m_uWidth не меняется,а остаются такой какая задана по умолчанию в диалоге. Подскажите плз,что не так.
 
04.09.2006
2 566
3
#2
Так а что ты хотел? При каждом движении мышкой создается диалог и ширина инициализируется значением по умолчанию. Далее этой шириной и происходит рисование.
Диалог нужно создать только один раз (например через меню), получить от него значение ширины, сохранив в некоторую переменную, которую далее использовать при рисовании.
 

Artur1987

Active member
31.03.2007
31
0
#3
Так а что ты хотел? При каждом движении мышкой создается диалог и ширина инициализируется значением по умолчанию. Далее этой шириной и происходит рисование.
Диалог нужно создать только один раз (например через меню), получить от него значение ширины, сохранив в некоторую переменную, которую далее использовать при рисовании.
:) блин,я понял) спасибо:) :lol: