http://tikitak.narod.ru ---- Главная страница сайта
Шаг 80 - Тренировка приложение PR5
От: Dmitry Panferov
Дата: 10 января 2000 г. 3:51
Тема: MFCByStep - question
Пример:
Есть MDI приложение, из меню вызывается диалоговое окно в котором
выводятся данные из документа и затем поступают обратно в документ,
в соответствии с новыми данными должно измениться и представление
документа
Создаем точно такое приложение как в PR4. Все один к одному.
Зайдем в Resource и два раза щелкнем по нашему диалогу для начала редактирования. Помести на диалоговое окно Edit Box и пока оно выделенно вызовем ClassWizard. Появится окно с предложением создать переменные класса диалога. Два раза щелкните на IDC_EDIT1 появится окно для задания типа переменной и имени. Тип переменной CString, а имя дайте m_Edits.
Теперь нам надо создать переменную в классе документа для хранения и отображения. Класс документа CPr4Doc. Выделите его в ClassView, нажмите правую кнопку мыши и Add Member Variable. Тип переменной CString имя stringData, а тип доступа public. Жмите OK.
Переменную необходимо инициализировать - это в функции OnNewDocument
BOOL CPr5Doc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
stringData="";
return TRUE;
}
Для отображения этой переменной необходимо изменить функции рисования OnDraw класс просмотра CPr5View.
void CPr5View::OnDraw(CDC* pDC)
{
CPr5Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDC->TextOut(10,10,pDoc->stringData);
}
А вот теперь можно менять функцию нажатия на кнопку мыши в виде.
void CPr5View::OnLButtonDown(UINT nFlags, CPoint point)
{
CTestDialog cdialog;
// Если нажали OK
if (cdialog.DoModal()==IDOK)
{
// получить класс документа
CPr5Doc* pDoc = GetDocument();
// поменять переменную класса документа
pDoc->stringData=cdialog.m_Edits;
// обновить вид
Invalidate();
}
CView::OnLButtonDown(nFlags, point);
}
Результат работы
Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|