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

 

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

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

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том2) — Бином, 2006. — 530 c.
Скачать (прямая ссылка): vicualcc2006t2.djvu
Предыдущая << 1 .. 103 104 105 106 107 108 < 109 > 110 111 112 113 114 115 .. 173 >> Следующая

CRectFill::CRectFill (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 CRectFill::Draw (CDC *PDC) {
CBrush Brush, *P01dBrush; CPen Pen, *POldPen;
// выберите перо/кисть:
Pen.CreatePen (PS_INSIDEFRAME, 1, m_Color); POldPen = PDC->SelectObject UPen); Brush.CreateSolidBrush (m_Color) ; POldBrush = PDC->SelectObject (&Brush);
// рисуйте фигуру:
PDC->Rectangle (m_Xl, m_Yl, m_X2, m_Y2);
// удалите перо/кисть: PDC->SelectObject (POldPen); PDC->SelectObject (POldBrush); }
IMPLEMENT_SERIAL (CRectRound, CFigure, 3)
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; mjThickness = Thickness; }
void CRectRound::Serialize (CArchiveS ar) (
CFigure::Serialize (ar) ; if (ar.IsStoring () )
ar « mjThickness; else
ar >> mjThickness;
}
void CRectRound::Draw (CDC *PDC) {
CPen Pen, *P01dPen;
// выберите перо/кисть:
Pen.CreatePen (PS_INSIDEFRAME, m_Thickness, m_Color POldPen = PDC->SelectObject (&Pen); PDC->SelectStockObject (NULL_BRUSH) ;
// рисуйте фигуру:
int SizeRound = (m X2 - m XI + m Y2 - m_Yl) / 6;
PDC->RoundRect (m_Xl, m_Yl, m_X2, m_Y2, SizeRound, SizeRound);
II удалите перо/кисть: PDC->SelectObject (POldPen); }
IMPLEMENT_SERIAL (CRectRoundFill, CFigure, 3)
CRectRoundFill::CRectRoundFill (int Xi, int Yl, int X2, int Y2, COLORREF Color) {
m_Xl = min (XI, X2); m_Yl = min (Yl, Y2i ; m_X2 = max (XI, X2) ; m_Y2 = max (Yl, Y2); m_Color = Color; )
void CRectRoundFill::Draw (CDC *PDC) {
CBrush Brush, *P01dBrush; CPen Pen, *POldPen;
// выберите перо/кисть:
Pen.CreatePen (PS_INSIDEFRAME, 1, m^Color); POldPen = PDC->SelectObject (SPen); Brush.CreateSolidBrush (m_Color) ; POldBrush = PDC->SelectObject (SBrush);
// рисуйте фигуру:
int SizeRound = (m_X2 - m XI + m__Y2 - m_Yl) / 6; PDC->RoundRect (m_Xl, m_Yl, m X2, m_Y2, SizeRound, SizePounc) ;
// удалите перо/кисть: PDC->SelectObject (POldPen); PDC->SelectObject (POldBrush) ; }
IMPLEMENT_SERIAL (CCircle, CFigure, 3)
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_Thickiiess; else
ar >> m Thickness;
void CCircle::Draw (CDC *PDC) {
CPen Pen, *POldPen;
// выберите перо/кисть:
Pen.CreatePen (PS_INSIDEFRAME, m_Thickness, m_Color); POldPen = PDC->SelectObject (&Pen) ; PDC->SelectStockCbject (NULL_BRUSH);
// рисуйте фигуру:
PDC->E1.1 ipse ;m XI, m_Yl, m_X2, m_Y2);
/'/ удалите перо/кисть: PDC->SelectObject (POldPen);
IMPlEMENT_SER1AL (CCircleFill, CFigure, 3)
CCircieFi11::CCircleFilI (int XI, int Yl, int X2, int Y2, COLORREF Color) <
m_Xl - min (XI, X2); m_Yl = it.in (Yl, Y2) ; m_X2 = max (XI, X2); m_Y2 = max (Yl, Y2); m_Color Color; )
void CCircieFi11::Draw (CDC *PDC) (
CBrush Brush, ^POldBrush; CPen Pen, *POldPen;
// выберите перо/кисть:
Pen.CreatePen (PS_INSIDEFRAME, 1, m_Color); POldPen = PDC->SelectObject (iPen); Brush.CreateSolidBrush (m_Color); POldBrush PDC->SelectObject (SBrush) ;
// рисуйте фигуру:'
PDC->Ellipse (m_Xl, m_Yl, m_X2, m_Y2);
// удалите перо/кисть: PDC->SelectObject (POldPen); PDC->SelectObject (POldBrush); }
Листинг 21.5.
// MainFrm.h : интерфейс класса CMainFrame //
1111111111111111111111111111111111111111111111111111111111111 III 111111 #if !defined(
AFX_MAINFRM_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 mjToolBar;
protected: // используются при сериализации CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
// Атрибуты public:
// Операции public:
// Переопределения
// Переопределения виртуальных функций, сгенерированные
// мастером ClassWizard
//{{AFXJVIRTUAL (CMainFrame)
public:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs); protected:
virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs,
CCreateContext* pContext); //)}AFXJVIRTUAL
// Реализация public:
virtual ~CMainFrame (); #ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContextS dc) const; #endif
// Генерация функций схемы обработки сообщений protected:
//((AFXJMSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct) ; //}}AFX_MSG DECLARE_MES SAGE_MAP()
};
111111111111111111111111111111111111111111111111II111111111111
11{{AFX_INSERT_LOCATION}}
// Visual С++ вставит дополнительные объявления // сразу перед предыдущей строкой
tendif
// !defined(
// AFX_MATNFRM_H__11Е8 3 92 8_9 99А_11 Dl_80FC_00С0F6A8ЗВ7F_INCLUDEDJ
Предыдущая << 1 .. 103 104 105 106 107 108 < 109 > 110 111 112 113 114 115 .. 173 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100