Программирование >>  Процедурные приложения 

1 ... 119 120 121 [ 122 ] 123 124 125 ... 150


НЕ РЕДАКТИРУЙТЕ то,что здесь находится. }}AFX MSG MAP

Стандартные операции с документами ON COMMAND(ID FILE NEW, CWinApp::OnFileNew) ON COMMAND(ID FILE OPEN, CWinApp::OnFileOpen)

END MESSAGE MAP()

{{AFX DATA INIT(CAboutDlg) }}AFX DATA INIT

void CAboutDlg::DoDataExchange(CDataExchange* pDX) f CDialog::DoDataExchange(pDX);

({AFX DATA MAP(CAboutDlg) }}AFX DATA MAP i

BEGIN MESSAGE MAP (CAboutDlg, CDialog)

{ (AFX MSG MAP (CAboutDlg) }}AFX MSG MAP END MESSAGE MAP ( )

Функция, управляющая выводом окна About void CGraphApp : : OnAppAbout ( )

CAboutDlg aboutDlg; aboutDlg . DoModal ( ) ;

Другие функции класса CGraphApp

Первая схема сообщений, содержащаяся в этом файле, принадлежит классу CGraphApp. В ней сообщения с идентификаторами id app about, id file new и ID FILE OPEN связываются С обработчиками OnAppAbout() , CWinApp: :OnFileNew()и CWinApp: :OnFileOpen(). В файле содержатся реализации конструктора класса CGraphApp, а также его методов initinstance() и OnAppAbout().

Диалоговое окно About принадлежит классу CAboutDlg, являющемуся потомком класса CDialog. У него имеется схема сообщений, конструктор и метод DoDataExchange ().

Файл MAINFRM.CPP

Файл MAINFRM.CPPсодержит реализацию класса CMainFrame, который порождается от класса CFrameWnd и управляет SDI-окном приложения.

MainFrm.cpp: реализация класса CMainFrame

#include stdafx.h

#include Graph.h

#include MainFrm.h

#ifdef DEBUG

#def ine new DEBUG NEW

#undef THIS FILE

static char THIS FILE[]= FILE

#endif

1 1 CMainFrame

IMPLEMENT DYNCREATE (CMainFrame, CFrameWnd) BEGIN MESSAGE MAP (CMainFrame, CFrameWnd)

{ (AFX MSG MAP (CMainFrame)

ПРИМЕЧАНИЕ: мастер классов будет добавлять и удалять здесь

макросы схемы сообщений.

НЕ РЕДАКТИРУЙТЕ то, что здесь находится.

}}AFX MSG MAP

END MESSAGE MAP ( )



I 1 Конструктор и деструктор класса CMainFrame CMainFrame:: CMainFrame() {

TODO: здесь добавьте код конструктора, }

CMainFrame::-CMainFrame()

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT Ses) {

if(ICFrameWnd::PreCreateWindow(cs))

returnFALSE;

TODO: здесь можно модифицировать класс окна, изменяя поля структуры cs.

return TRUE; }

Диагностика класса CMainFrame #ifdef DEBUG

void CMainFrame: :AssertValid()const

CFrameWnd: :AssertValid() ;

void CMainFrame: : Dump (CDumpContext &dc) const { CFrameWnd: : Dump (dc);

#endif DEBUG

Обработчики сообщений класса CMainFrame

Внимательно просмотрев этот листинг, вы заметите, что конструктор и деструктор не содержат никакого кода, обработчики сообщений отсутствуют, а для функций AssertValid(), Dump() и PreCreateWindow() вызываются одноименные методы базового класса.

Файл GRAPHDOC.CPP

Файл GRAPHDOC.CPP содержит реализацию класса CGraphDoc, который управляет работой с документом, а также обеспечивает загрузку и сохранение данных документа.

GraphDoc.cpp: реализация класса CGraphDoc #include stdafx.h #include Graph. h #include GraphDoc. h

tifdef DEBOG #define new DEBUGJSIEW #undef THIS FILE

static char THIS FILE [ ] = FILE ;

#endif

CGraphDoc

IMPLEMENT DYNCREATE (CGraphDoc, CDocument)

BEGIN MESSAGE MAP (CGraphDoc, CDocument) ( (AFX MSGJXIAP (CGraphDoc)

ПРИМЕЧАНИЕ: мастер классов будет добавлять и удалять здесь

макросы схемы сообщений.

НЕ РЕДАКТИРУЙТЕ то,что здесь находится.

}}AFX MSG MAP END MESSAGE MAP ( )

II Конструктор и деструктор класса CGraphDoc CGraphDoc:: CGraphDoc() {



TODO: здесь добавьте код конструктора

CGraphDoc::-CGraphDoc ()

BOOL CGraphDoc::OnNewDocument()

if (ICDocument::OnNewDocument{)) return FALSE;

: TODO: здесь добавьте код повторной инициализации

(специфика SDI-приложений).

return TRUE; )

Сериализация класса CGraphDoc

void CGraphDoc: : Serialize (CArchive Sar) {

if (ar . IsStoring () ) {

TODO: здесь добавьте код сохранения }

else{

TODO: здесь добавьте код загрузки } }

Диагностика класса CGraphDoc fifdef DEBUG

void CGraphDoc::AssertValid() const

CDocument::AssertValid(); }

void CGraphDoc: : Dump (CDumpContext Sdc) const f CDocument :: Dump (dc); ) #endif DEBUG

Другие функции класса CGraphDoc

Проанализировав этот листинг, вы вновь обнаружите, что схема сообщений, конструктор и деструктор класса пусты. Для остальных четырех функций вызываются их реализации из базового класса. Функция Serializedреализует концепцию постоянства документа. В следующем примере посредством этой функции будет организован файловый ввод/вывод данных документа.

Файл GRAPHVBEW.CPP

Файл GRAPHVIEW.CPP содержит реализацию класса CGraphview, который порождается от класса CView и отвечает за отображение документа.

GraphView.cpp: реализация класса CGraphView #include stdafx.h

#include Graph. h

#include GraphDoc.h

#include GraphView.h #ifdef DEBUG #define new DEBUG NEW #undef THIS FILE

static char THIS FILE[] = FILE ; #endif

CGraphview

IMPLEMENT DYNCREATE (CGraphview, CView) BEGIN MESSAGE MAP (CGraphview, CView) ( {AFX MSG MAP (CGraphview) ON WM PAINT()

}}AFX MSG MAP END MESSAGE MAP ( ) 368



1 ... 119 120 121 [ 122 ] 123 124 125 ... 150

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика