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

  • Автор темы Автор темы Artur1987
  • Дата начала Дата начала
A

Artur1987

Возникла такая проблема. В программе можно рисовать прямоугольники, а толщина линии задаётся в диалоговом окне,вызывающемся из меню. Почему -то не происходит обновления данных из диалога , и толщина линии (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 не меняется,а остаются такой какая задана по умолчанию в диалоге. Подскажите плз,что не так.
 
Так а что ты хотел? При каждом движении мышкой создается диалог и ширина инициализируется значением по умолчанию. Далее этой шириной и происходит рисование.
Диалог нужно создать только один раз (например через меню), получить от него значение ширины, сохранив в некоторую переменную, которую далее использовать при рисовании.
 
Так а что ты хотел? При каждом движении мышкой создается диалог и ширина инициализируется значением по умолчанию. Далее этой шириной и происходит рисование.
Диалог нужно создать только один раз (например через меню), получить от него значение ширины, сохранив в некоторую переменную, которую далее использовать при рисовании.

:) блин,я понял) спасибо:) :lol:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!