Учебник по Visual C++ .Net




Обработка сообщений от элементов - часть 3


void CPolyDlg::OnClickedTri(void)

{

m_pDoc->m_Poly.MakeTria() ;

m_pDoc->UpdateDrawView() ;

}

void CPolyDlg::OnClickedPent(void)

{

m_pDoc->m_Poly.MakePent() ;

m_pDoc->UpdateDrawView() ;

}

void CPolyDlg::OnClickedStar(void)

{

m_pDoc->m_Poly.MakeStar() ;

m_pDoc->UpdateDrawView();

}

Измените тело конструктора диалогового класса, с тем чтобы при открытии диалога он смог запомнить обратный указатель (адрес документа) и все его элементы были правильно инициализированы:

CPolyDlg::CPolyDlg(CTreeDoc* p)

: CDialog (CPolyDlg::IDD, 0)

{

m_pDoc = p;

m_nPen = p->m_Poly.m_nPenWidth;

//====== Расщепляем цвет фона текущего полигона

COLORREF brush = p->m_Poly.m_BrushColor;

m_nRed = GetRValue(brush); // на три компонента

m_nGreen = GetGValue(brush);

m_nBlue = GetBValue(brush) ;

m_bScroll = false; // Ползунки в покое




Содержание  Назад  Вперед