www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
  http://tikitak.narod.ru ---- Главная страница сайта

Шаг 28 - Пункт меню открыть документ как в AppWizard

Создание проекта

Работаем со старым. В ресурсах в меню необходимо создать пункт меню Open в меню File. И присвоить ему идентификатор ID_FILE_OPEN. Плюс к этому создать строковый ресурс с идентификатором AFX_IDC_OPEN и числом 61440. Это число обязательно такое. Содержание строкового ресурса Open File.

Создаем код

В таблице реакций на события создаем реакцию на пукт меню.
BEGIN_MESSAGE_MAP(CStep2App, CWinApp)	
  ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
  ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
END_MESSAGE_MAP()
И процедуру чтения данных
void CMyDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		ar << csDate;
	}
	else
	{
		ar >> csDate; // читаем
	}
}

Описание

Как видете это всё. Первый идентификатор необходим для заголовка окна открытия файла. А дальше всё так. Вызываем процедуру открытия файла и MFC всё делает автоматом.

В процедуру Serialize добавили код чтения. Она вызывется из CWinApp::OnFileOpen.

Итак запускайте. Вызовете About, чтобы появился EMail и сохраните документ. Потом выберете пункт меню New для обновления экрана. На экране будет другая запись. А Вот теперь откройте и опять появиться EMail. Всё работает как часы.


Шпаргалка

Создай пункт меню и реакцию
BEGIN_MESSAGE_MAP(CStep2App, CWinApp)	
  ..........
  ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
END_MESSAGE_MAP()
Создай процедуру чтения
void CMyDoc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		................
	}
	else
	{
		ar >> csDate; // читаем
	}
}

Предыдущий Шаг | Следующий Шаг | Оглавление

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

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

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