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

 

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

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

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том1) — Бином, 2006. — 569 c.
Скачать (прямая ссылка): vicualcc2006t1.djvu
Предыдущая << 1 .. 128 129 130 131 132 133 < 134 > 135 136 137 138 139 140 .. 204 >> Следующая

CDocument::AssertValid();
}
void CMiniDrawDoc::Dump(CDumpContextfi de) const {
CDocument: : Dump(de);
}
#endif //_DEBUG
11111111111111111111111111111111111111111111 и 1111111 m I и m 11
ii Другие функции класса 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 (CArchive& 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, int 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 < О II 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 m_LineArray.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() (
// 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 () (
return CRect
(min (m_Xl, m_X2), min (m_Yl, m_Y2), max (m_Xl, m_X2) + 1, max (m_Yl, m_Y2) + 1);
}
Листинг 13.5
// MainFrm.h : определение класса CMainFrame
//
111111111111111111111111 iii iii 11111111111111111111111111111111111111 ¦ if !defined(
AFX_MAINFRM_H_11E83 928_999A_11D1_80FC_00C0F6A83B7F_INCLUDEDJ
¦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;
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(CDumpContext& dc) const; ¦endif
// Сгенерированные функции обработки сообщений protected:
//((AFX_MSG(CMainFrame)
//}}AFX MSG
DECLARE_MESSAGE_MAP()
};
11111111111 iii 11111111111111 iii 1111111111111/11111111111111111/11111 i и i inn
ll{{AFX_INSERT_LOCATION}}
// Visual С++ вставит дополнительные объявления // сразу перед предыдущей строкой.
¦endif
// !defined(
// AFX MAINFRM H 11E83928 999A 11D1 80FC 00C0F6A83B7F INCLUDED )
Листинг 13.6
// MainFrm.cpp : реализация класса CMainFrame //
¦include "stdafx.h" ¦include "MiniDraw.h"
¦include "MainFrm.h"
¦ifdef _DEBUG
¦define new DEBUG_NEW
¦undef THIS_FILE
static char THIS_FILE[] = _FILE_;
¦endif
ii1111111 iii 11ii11111111111ii111 iii 111111111111111ii1111/iiiiiii ii Класс CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) //{{AFX_MSG_MAP(CMainFrame)
// ПРИМЕЧАНИЕ - Мастер ClassWizard будет добавлять // и удалять макросы обработки сообщений
// НЕ РЕДАКТИРУЙТЕ текст в этих блоках сгенерированного кода! //))AFX_MSG_MAP END_MESSAGE_MAP()
11111iiii1111111111 iii 11iiii iii 1111111111111111111111ii111 iii iii ii Конструктор/деструктор класса CMainFrame
CMainFrame::CMainFrame () {
// TODO: Здесь добавьте код конструктора
}
CMainFrame::-CMainFrame()
{ }
BOOL CMainFrame::PreCreateWindow(CREATESTRUCTS cs)
(
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE; // TODO: Здесь модифицируйте класс или стиль окна, // изменяя поля структуры cs
return TRUE;
}
//////////////////////////////////////////////////////////////// // Диагностика класса CMainFrame
lifdef _DEBUG
void CMainFrame::AssertValid() const {
CFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContextS dc) const {
CFrameWnd::Dump(dc);
}
#endif //_DEBUG
//////////////////////////////////////////////////////////////// // Обработчики сообщений класса CMainFrame
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
Предыдущая << 1 .. 128 129 130 131 132 133 < 134 > 135 136 137 138 139 140 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100