С помощью примеров nehe написал код, который строит график функций. Решил создать еще Edit box для ввода названия функции и столкнулся с проблемой как это сделать? Попробовал читать из edita строку и переводить её в float, но получается, что читается только обычные числа. Не буду приводить всю программу, приведу только ключевые моменты. Построение графика:
| Код | BOOL DrawGLScene(GLvoid) { i = 0; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // очистка Экрана и буфера глубины glLoadIdentity(); // Сброс просмотра glTranslatef(0.0f, 0.0f, -6.0f); glLineWidth(1.0f); glColor3f(1.0f, 1.0f, 1.0f); glBegin(GL_LINES); glColor3f(1.0f, 0.0f, 0.0f); //ось Y glVertex2f(0.0f, 10.0f); glVertex2f(0.0f, -10.0f); //ось X glVertex2f(10.0f, 0.0f); glVertex2f(-10.0f, 0.0f); glEnd(); glPointSize(2); glBegin(GL_POINTS); glColor3f(0.0f, 0.0f, 0.0f); for (x = -50; x <= 50; x=x+0.01) { k = atof(str); y = k; glVertex2f(x, y); } glEnd(); return true; }
|
Создания edita обработка сообщений от него по нажатию кнопки.
| Код | case WM_COMMAND: if (LOWORD(wParam) == 10000) { GetDlgItemText(hWnd, 0, str, sizeof(str)); } break; case WM_CREATE: h = CreateWindowEx(WS_EX_CLIENTEDGE, "edit", "", WS_CHILD | WS_VISIBLE | ES_RIGHT, 10, 60, 80, 30, hWnd, 0, hInstance, NULL);
break;
|
|