Учебник по Visual C++ .Net


Класс графика С помощью Studio.Net



class CDPoint

{

public:

//=== Две вещественные координаты точки на плоскости

double x, у;

//======= Стандартный набор конструкторов и операций

CDPoint () {

х=0.; у=0.;

}

CDPoint(double xx, double yy) {

х=хх;

У=УУ;

}

CDPoints operator=(const CDPointi pt) {

x = pt.x;

У = pt.y; return *this;

}

CDPoint(const CDPointS pt) {

*this - pt; } };

//===== Вспомогательные данные, характеризующие

//== последовательность координат вдоль одной из осей

struct TData (

//===== Порядок в нормализованном представлении числа

int Power; //===== Флаг оси X

bool bХ; double

//======= Экстремумы

Min, Max,

//======= Множитель -(10 в степени Power)

{

Factor,

//======= Шаг вдоль оси (мантисса)

Step,

//======= Реальный шаг

dStep,

//==== Первая и последняя координаты (мантиссы)

Start, End,

// ======= Первая и последняя координаты

dStart, dEnd; };

//===== Класс, реализующий функции плоского графика

class CGraph { public:

//===== Данные, характеризующие данные вдоль осей

TData m_DataX, m_DataY;

//===== Контейнер точек графика

vector <CDPoint>& m_Points;

//===== Текущие размеры окна графика

CSize m_Size;

//===== Экранные координаты центра окна

CPoint m_Center;

//===== Заголовок и наименования осей

CString m_sTitle, m_sX, m_sY;

//===== Перо для рисования

CPen m_Pen;

//===== Два типа шрифтов

CFont m_TitleFont, m_Font;

//===== Высота буквы (зависит от шрифта)

int m_LH,

//===== Толщина пера

m_Width;

//===== Цвет пера COLORREF m_Clr;

//======= Методы для управления графиком

CGraph(vector<CDPoint>& pt, CString sTitle, CString sX, CString sY) ;

virtual -CGraph();

//===== Заполнение TData для любой из осей

void Scale(TDataS data);

//===== Переход к логическим координатам точек

int MapToLogX (double d);

int MapToLogY (double d);

//===== Изображение в заданном контексте

void Draw (CDC *pDC);

//===== Изображение одной линии

void DrawLine(CDC *pDC) ;

//===== Подготовка цифровой метки на оси




Начало  Назад  Вперед



Книжный магазин