Как продвинуть сайт на первые места?
Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.

Ускорение продвижения
Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.



Иллюстрированный самоучитель по Visual Studio .NET

Конструктор CGraph

Если вы поняли, что происходит в методе Scale, то дальнейшие манипуляции с данными графика не вызовут у вас затруднений. Рассмотрим конструктор класса CGraph. В первом параметре по ссылке он получает контейнер с точками графика. Для того чтобы исключить копирование всех точек внешнего контейнера, мы инициализируем в заголовке конструктора свою собственную ссылку m_Points на входной контейнер.

Кроме контейнера с точками графика пользователь объектом CGraph должен передать два текста, помечающих оси графика (sX, SY) и текст его заголовка (sTitle). В теле конструктора готовим два объекта типа TData для данных о разметке двух осей, создаем два шрифтовых объекта и инициализируем переменные управления параметрами линии графика. В данной реализации мы убрали диалог по изменению атрибутов пера, который вы можете сделать по своему вкусу.

Примечание
Следует отметить, что при изображении нескольких кривых функциональных зависимостей на одном графике необходимо дать пользователю возможность управлять стилем пера для каждой кривой в отдельности. В начале книги мы рассматривали, как это делается. Кроме того, следует учитывать существующие традиции изображения научной графики. Например, можно помечать кривые крестиками, ноликами и т. д. Это делается с помощью цикла прохода по точкам кривой и вывода в определенных местах растровых изображений, маркирующих кривую. Эти возможности ввиду необходимости описывать объекты классов Stingray Objective Grid мы также убрали из данной реализации
.

//======= Конструктор класса CGraph
CGraph::CGraph (vector<CDPoint>S pt,
CString sTitle, CString sX, CString sY)
: m_Points(pt)
{
//===== Готовим данные, характеризующие оси координат
ZeroMemory(Sra_DataX, sizeof(TData));
ZeroMemory(sm_DataY, sizeof(TData));
m_DataX.bX = true;
m_DataY.bX = false;
m_sTitle = sTitle;
m_sX = sX;
m_sY = sY;
//======= Создаем шрифт для оцифровки осей
m_Font.CreateFont(16.0.0.0.100.0.0.0,DEFAULT_CHARSET,
OUT_RASTER_PRECIS,CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,FF_DONTCARE,"Arial");
//======= Выясняем вертикальный размер буквы
TEXTMETRIC tm; CClientDC dc(0);
dc.SelectObject(Sm_Font);
dc.GetTextMetrics(Stm);
m_LH = tm.tmHeight;
//======= Создаем шрифт для вывода заголовка
m_TitleFont.CreateFont(24,О,О,0.100, 0, 0, 0,
DEFAULT_CHARSET, OUT_RASTER__PRECIS,
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_DONTCARE,
"Times New Roman");
//======= Задаем параметры пера
m_Clr = RGB(0.0.255); m_Width = 2;
}
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.