www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
  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);
}
Результат работы

step80.gif (2931 b)


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление

By Artem.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz