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

 

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

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

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том2) — Бином, 2006. — 530 c.
Скачать (прямая ссылка): vicualcc2006t2.djvu
Предыдущая << 1 .. 75 76 77 78 79 80 < 81 > 82 83 84 85 86 87 .. 173 >> Следующая

// нарисуйте фигуру:
PDC->Rectangle (m_Xl, m_Yl, m_x2, m_Y2);
// удалите перо/кисть: PDC->SelectObject (POldPen); PDC->SelectObject (POldBrush);
}
IMPLEMENT_SERIAL (CRectRound, CFigure, 2)
CRectRound::CRectRound (int XI, int Yl, int X2, int Y2, COLORREF Color, int Thickness) (
m_Xl = min (XI, X2); m_Yl = min (Yl, Y2); m_X2 = max (XI, X2); m_Y2 = max (Yl, Y2); m_Color = Color; m__Thickness = Thickness; }
void CRectRound::Serialize (CArchives ar) {
CFigure::Serialize (ar); if (ar.IsStoring ()) ar << m Thickness;
else
ar >> m_Thickness;
}
void CRectRound::Draw (CDC *PDC) <
CPen Pen, *POldPen;
// выберите перо/кисть:
Pen.CreatePen (PS_INSIDEFRAME, mJThickness, mjColor); POldPen = PDC->SelectObject (&Pen); PDC->SelectStockObject (NOLL_BRUSH);
// нарисуйте фигуру:
int SizeRound = (m_X2 - mJXl + m_Y2 - m_Yl) / 6; PDC->RoundRect (mJXl, m_Yl, m_X2, m_Y2, SizeRound, SizeRound);
// удалите перо/кисть: PDC->SelectObject (POldPen); }
IMPLEMENT_SERIAL (CRectRoundFill, CFigure, 2)
CRectRoundFill::CRectRoundFill (int XI, int Yl, int X2, int Y2, COLORREF Color) {
mJXl = min (XI, X2); m_Yl = min (Yl, Y2); m_X2 = max (XI, X2); m_Y2 = max (Yl, Y2); mjColor = Color; }
void CRectRoundFill::Draw (CDC *PDC) (
CBrush Brush, *POldBrush; CPen Pen, *P01dPen;
// выберите перо/кисть:
Pen.CreatePen (PS_INSIDEFRAME, 1, mjColor); POldPen = PDC->SelectObject (&Pen); Brush.CreateSolidBrush (m_Color); POldBrush = PDC->SelectObject (SBrush);
// нарисуйте фигуру:
int SizeRound = (m_X2 - mJXl + m_Y2 - mJYl) / 6; PDC->RoundRect (m_Xl, mJYl, mJX2, m_Y2, SizeRound, SizeRound);
// удалите перо/кисть: PDC->SelectObject (POldPen); PDC->SelectObject (POldBrush); }
IMPLEMENT_SERIAL (CCircle, CFigure, 2)
CCircle:-.CCircle (int XI, int Yl, int X2, int Y2, COLORREF Color, int Thickness) {
m_Xl = min (XI, X2); m_Yl = min (Yl, Y2); m_X2 = max (XI, X2); m_Y2 = max (Yl, Y2); m_Color = Color; m_Thickness = Thickness; }
void CCircle::Serialize (CArchives ar) (
CFigure::Serialize (ar) ; if (ar.IsStoring ())
ar « m_Thickness; else
ar » m__Thickness;
}
void CCircle::Draw (CDC *PDC) {
CPen Pen, *P01dPen;
// выберите перо/кисть:
Pen.CreatePen (PS_INSIDEFRAME, m_Thickness, m_Color); POldPen = PDC->SelectObject (&Pen); PDC->SelectStockObject (NULL_BRUSH) ;
// нарисуйте фигуру:
PDC->Ellipse (m_Xl, m_Yl, m_X2, m_Y2);
// удалите перо/кисть: PDC->SelectObject (POldPen); }
IMPLEMENT_SERIAL (CCircleFill, CFigure, 2)
CCircleFill::CCircleFill (int XI, int Yl, int X2, int Y2, COLORREF Color) {
m_Xl = min (XI, X2); m^Yl = min (Yl, Y2); m_X2 = max (XI, X2); m_Y2 = max (Yl, Y2); m_Color = Color; }
void CCircleFill::Draw (CDC *PDC) i
CBrush Brush, *P01dBrush; CPen Pen, *POldPen;
// выберите перо/кисть:
Pen.CreatePen (PS_INSIDEFRAME, 1, m__Color) ; POldPen = PDC->SelectObject (&Pen); Brush.CreateSolidBrush (m_Color); POldBrush = PDC->SelectObject (bBrush);
// нарисуйте фигуру:
PDC->Ellipse (m_Xl, m_Yl, m_X2, m_Y2);
// удалите перо/кисть: PDC->SelectObject (POldPen); PDC->SelectObject (POldBrush); }
Листинг 19.13
// MainFrm.h : интерфейс класса CMainFrame //
111111/111111/1111111111111/111/1111111111111111111111111/1/1iI//11/11 #if !defined(
AFX_MAINFRM_H_11E83928_999A_11D1 J3OFC_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 mJSplitterWnd; 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_ME S SAGE_MAP()
};
1111111111111! 111111111111II11111111111111111111111111111111II11II11 11{{AFX_INSERT_LOCATION}1
// Visual С++ вставит дополнительные объявления // сразу перед предыдущей строкой
#endif
// !defined(
// AFX_MAINFRM_H_11E83928_999A_11D1_80FC_00C0F6A83B7F_INCLUDED_)
Листинг 19.14
// MainFrm.cpp : реализация класса CMainFrame //
iinclude "stdafx.h" ¦include "MiniDraw.h"
#include "MainFrm.h"
#ifdef _DEBUG idefine new DEBUG_NEW #undef THIS_FILE
static char THIS_FILE[] = _FILE_;
#endif
I/1111111111111111111111111111111111111111! 111111111111111111111111 II Класс CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
Предыдущая << 1 .. 75 76 77 78 79 80 < 81 > 82 83 84 85 86 87 .. 173 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100