Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Янг Майкл Дж. -> "Visual С++ 6. Полное руководство: В 2 т.(том1)" -> 149

Visual С++ 6. Полное руководство: В 2 т.(том1) - Янг Майкл Дж.

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том1) — Бином, 2006. — 569 c.
Скачать (прямая ссылка): vicualcc2006t1.djvu
Предыдущая << 1 .. 143 144 145 146 147 148 < 149 > 150 151 152 153 154 155 .. 204 >> Следующая

// TODO: Здесь добавьте код повторной инициализации
// (SDI-приложения будут повторно использовать этот документ)
return TRUE;
}
i и i г и 11111111111111111 пи п т п и п 111111111111111111111 и 11
II Сериализация класса CMiniDrawDoc
void CMiniDrawDoc::Serialize(CArchiveS ar}
t
if (ar.IsStoring())
(
// TODO: Здесь добавьте код сохранения m_l.ineArray. Serialize (ar) ;
)
else
{
// TODO: Здесь добавьте код загрузки m_LineArray.Serialize (ar) ;
)
)
11111111111111111111111111111111II111111111111111111111111111111 II Диагностика класса CMiniDrawDoc
#ifdef _DEBUG
void CMiniDrawDoc::AssertValid() const (
CDocument::AssertValid();
}
void CMiniDrawDoc::Dump(CDumpContextS dc) const {
CDocument::Dump(dc);
)
#endif // DEBUG
1111111111111111111111111111111111111111111111111111111111111111
// Другие функции класса CMiniDrawDoc
IMPLEMENT_SERIAL (CLine, CObject, 1)
void CLine::Draw (CDC *PDC) (
PDC->MoveTo (m_Xl, m_Yl); PDC->LineTo (m_X2, m_Y2); }
void CLine::Serialize (CArchiveS ar) (
if (ar.IsStoring())
ar « m_Xl « m_Yl « m_X2 « m_Y2; else
ar » m_Xl » m_Yl » m_X2 >> m_Y2;
}
CLine *CMiniDrawDoc::AddLine (int XI, int Yl, mt X2, int Y2) (
CLine *PLine = new CLine (XI, Yl, X2, Y2);
m_LineArray.Add (PLine);
SetModifiedFlag ();
return PLine;
)
CLine *CMiniDrawDoc: :GetLine (int Index) (
if (Index < 0 I I Index > m_LineArray.GetUpperBound ())
return 0; return m_LineArray.GetAt (Index); )
int CMiniDrawDoc::GetNumLines () (
return m_LineArray.GetSize (); }
void CMiniDrawDoc::DeleteContents() {
// TODO: Здесь добавьте собственный код обработчика // и/или вызов функции базового класса
int Index = m_LineArray.GetSize (); while (Index—)
delete rnJjineArray.GetAt (Index); m_LineArray.RemoveAll ();
CDocument::DeleteContents();
)
void CMiniDrawDoc::OnEditClearAll() {
// TODO: Здесь добавьте собственный код обработчика DeleteContents (); UpdateAllViews (0); SetModifiedFlag ();
}
void CMiniDrawDoc::OnUpdateEditClearAll(CCmdUI* pCmdUI)
(
// TODO: Здесь добавьте собственный код обработчика pCmdUI->Enable (m_LineArray.GetSize ());
}
void CMiniDrawDoc::OnEditUndo()
I
// TODO: Здесь добавьте собственный код обработчика
int Index = m_LineArray.GetUpperBound (); if (Index > -1) (
delete m_LineArray.GetAt (Index); m_LineArray.RemoveAt (Index);
)
UpdateAllViews (0); SetModifiedFlag ();
void CMiniDrawDoc::OnUpdateEditUndo(CCmdUI* pCmdUI) (
// TODO: Здесь добавьте собственный код обработчика pCmdUI->Enable (m_LineArray.GetSize ());
}
CRect CLine::GetDimRect ()
f
return CRect
(min (m_Xl, m_X2), min (m_Yl, m_Y2), max (m_Xl, m_X2) + 1, max (m_Yl, m_Y2) + 1);
)
Листинг 14.5.
// MainFrm.h : интерфейс класса CMainFrame //
111111111111111111111111111111111111111111111111111 /1111111 ii 111 #if ! defined(
AFX_MAIN FRM_H_11E83928_999A_11D1_80FC_00C0F6A83B7F_INCLUDED_)
#define AFX_MAINFRM_H_11E83928_999A_11D1_80FC_00C0F6A83B7F_INCLUDED
#if _MSC_VER > 1000 #pragma once
#endif // _MSC_VER > 1000
class CMainFrame : public CFrameWnd {
protected:
CSplitterWnd m_SplitterWnd; CStatusBar m_StatusBar; CToolBar m_ToolBar;
protected: // используются при сериализации CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
// Атрибуты public:
// Операции public:
// Переопределения
// Переопределения виртуальных функций, // сгенерированные мастером ClassWizard //({AFX_VIRTUAL(CMainFrame) public:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs); protected:
virtual BOOL OnCreateClient(
LPCREATESTRUCT lpcs, CCreateContext* pContext); //))AFX_VIRTUAL
// Реализация public:
virtual -CMainFrame(); #ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContextS dc) const; #endif
// Сгенерированные функции обработки сообщений protected:
//((AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); //}}AFX_MSG DECLARE_MESSAGE_MAP()
};
11111111111111111111111111111 iii/111111/11111/1111/1ii1111111111
//((AFX_INSERT_LOCATION}}
// Visual С++ вставит дополнительные объявления // сразу перед предыдущей строкой
#endif
// !defined(
// AFX_MAINFRM_H_11E83928_999A_11D1_80FC_00C0F6A83B7F_INCLUDED_)
Листинг 14.6.
// MainFrm.cpp : реализация класса CMainFrame
//
#include "stdafx.h" finclude "MiniDraw.h"
#include "MainFrm.h"
#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE
static char THIS_FILE[] = _FILE_;
#endif
1111111111111111111111111111II1111111111111111111111111111111111 ii Класс CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
//)}AFX_MSG_MAP EN D_ME S SAGE_MAP()
// идентификаторы полей строки состояния: static UINT IndicatorlDs [] =
f
iD_SEPARATOR,
ID_in DICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
1111111111111111111111111111111111111111111111111111111111111111 ii Конструктор/деструктор класса CMainFrame
CMainFrame::CMainFrame()
{
ii TODO: Здесь добавьте код инициализации
}
CMainFrame::~CMainFrame()
Предыдущая << 1 .. 143 144 145 146 147 148 < 149 > 150 151 152 153 154 155 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100