Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
anton-mix
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 68
1

Не рисуется график функции (MFC)

04.09.2012, 22:45. Просмотров 1388. Ответов 8
Метки нет (Все метки)

Всем привет, не рисует график функции sin(x)/(x)
хотя оси рисует нормально, не пойму в чем проблема

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
void CfunctionView::OnDraw(CDC* pDC)
{
    CfunctionDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    if (!pDoc)
        return;
 
int XNACH=100;
int XKON=-100;
 
int X0=250;
int Y0=500;
 
CPen pen;
pen.CreatePen(PS_SOLID,1,RGB(0,0,255));
const int Mx=500, My=50;
 
pDC->MoveTo(XNACH*Mx+X0,Y0);
pDC->LineTo(X0+(XKON*Mx),Y0);
pDC->MoveTo(X0,0);
pDC->LineTo(X0,600);
 
 
pDC->MoveTo(XNACH*Mx+X0,(int)(-function(XNACH)*My)+Y0);
 
 
for(double i=XNACH;i<XKON;i+=0.01)
{
    pDC->LineTo(int(i*Mx+X0),(int)(function(i)*My)+Y0);
}
pDC->SelectObject(&pen);
 
 
 
    // TODO: добавьте здесь код отрисовки для собственных данных
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2012, 22:45
Ответы с готовыми решениями:

MFC: построить график
нужно построить график. значения содержаться в массиве. текст функции: void...

График реального времени для данных, поступающих из СОМ-порта (MFC)
Добрый день всем! Какое-то время назад Maxi Paul поднимал подобную тему, но...

MFC: Написание функции
Visual Studio 2010. MFC Приложение. Имеется вот такая вот формачка (пример во...

Выведение графика функции (MFC)
Люди помогите плз,я написал прогамму которая выводит график функции одной...

Функции преобразования типов в MFC
Здраствуйте, работаю в MFC, есть задание: &quot;Вывести в окно приложения результаты...

8
ValeryS
Модератор
7264 / 5518 / 692
Регистрация: 14.02.2011
Сообщений: 18,691
04.09.2012, 22:49 2
Цитата Сообщение от anton-mix Посмотреть сообщение
int XNACH=100;
int XKON=-100;
Цитата Сообщение от anton-mix Посмотреть сообщение
for(double i=XNACH;i<XKON;i+=0.01)
У тебя цикл ни разу не выполняется
i=100<-100 ложь
0
anton-mix
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 68
04.09.2012, 22:56  [ТС] 3
ValeryS, вооо опять не увидел мелочи, спс..)

Добавлено через 5 минут
а кстати как более грамотно через SetViewportOrg сделать, т.е. у меня уже будет середина клиентской области, а вот как от нее начать рисовать?
0
MaximRTS
1 / 1 / 0
Регистрация: 23.07.2013
Сообщений: 68
25.07.2013, 20:21 4
ValeryS, не могли бы вы подсказать, чтобы построить график функции какой элемент нужно выбрать из панели элеметов? Или он просто в рабочем окне строится?
0
ValeryS
Модератор
7264 / 5518 / 692
Регистрация: 14.02.2011
Сообщений: 18,691
25.07.2013, 20:27 5
MaximRTS, не понял вопроса
0
MaximRTS
1 / 1 / 0
Регистрация: 23.07.2013
Сообщений: 68
25.07.2013, 20:49 6
, то есть я хочу на форму поместить кнопку и в обработчике написать код для построения, только не могу найти аналога как в Delphi элемента, где этот график бы строился. Где он должен строится??
0
ValeryS
Модератор
7264 / 5518 / 692
Регистрация: 14.02.2011
Сообщений: 18,691
25.07.2013, 20:51 7
Цитата Сообщение от MaximRTS Посмотреть сообщение
то есть я хочу на форму поместить кнопку
ты в МФК пишешь? если под НЕТ то я не помошник
а так создаешь свое поле (можно от CStatic)и рисуешь в нем
1
MaximRTS
1 / 1 / 0
Регистрация: 23.07.2013
Сообщений: 68
25.07.2013, 20:58 8
ValeryS, я в MFC пишу. Может мне тогда при ножатии кнопки сделать открытие нового окна и там рисоать? Сложный Visual C++ какой-то.
0
ValeryS
Модератор
7264 / 5518 / 692
Регистрация: 14.02.2011
Сообщений: 18,691
25.07.2013, 21:12 9
Цитата Сообщение от MaximRTS Посмотреть сообщение
ValeryS, я в MFC пишу.
диалоговое приложение?
положи статик на диалог (Static text) в редакторе ресурсов, удали надпись и измени ID ( по умолчанию он -1 IDC_STATIC ) например IDC_MY_STATIC

потом два пути
или
правой кнопкой на статик и создать переменную например cMyStatic
и когда нужно рисовать то берешь дескриптор от этого окна (cMyStatic) и рисуешь

или создаешь свой класс производный от CStatic и включаешь обработчик сообщений WM_PAINT
а когда создаешь переменную то класс указываешь свой
Цитата Сообщение от MaximRTS Посмотреть сообщение
Сложный Visual C++ какой-то.
ничего сложного просто непривычно
вот здесь посмотри хороший сайтик
http://www.firststeps.ru/
1
25.07.2013, 21:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2013, 21:12

MFC, потоки, не видит функции
Прошу прощения, может и нубский вопрос, но сроки поджимают, нет времени...

Существуют ли MFC'шные функции для преобразования типов?
А существуют MFC'шные ф-ии для преобразования типов?

Не найден идентификатор при вызове функции (работа в MFC)
void Rect::Draw(CPaintDC &amp;dc) { int x1,x2,x3,x4; x1 = GetTop(); x2 =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru