Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Toson
0 / 0 / 0
Регистрация: 28.06.2012
Сообщений: 20
#1

Рисование c Win32API - C++

28.06.2012, 15:30. Просмотров 1408. Ответов 2
Метки нет (Все метки)

Доброго времени суток! Я нарисовал вот такую картинку(вложение рис1). И возник вопрос - как можно добавить цифры в эти эллипсы и как рисовать дугу, т.е. чтобы допустим из одного эллипса в другой выходила и прямая линия и дуга?(вложение рис2)
Спасибо, если кто откликнется!
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
37
38
39
hdc=BeginPaint(hwnd,&ps);
            //рисуем элементы
            Ellipse(hdc,150,150,170,170);//5
            Ellipse(hdc,170,200,190,220);//3
            Ellipse(hdc,320,100,340,120);//7
            Ellipse(hdc,180,100,200,120);//6
            Ellipse(hdc,250,250,270,270);//4
            Ellipse(hdc,320,190,340,210);//1
            Ellipse(hdc,250,55,270,75);//2
            //рисуем ребра(цепи)
            //от 5 до ?
            MoveToEx(hdc,162,167,0);
            LineTo(hdc,175,205);//5-3
            MoveToEx(hdc,160,152,0);
            LineTo(hdc,183,112);//5-6
            MoveToEx(hdc,167,158,0);
            LineTo(hdc,323,112);//5-7
            //от 3 до ?
            MoveToEx(hdc,182,203,0);
            LineTo(hdc,256,69);//3-2
            MoveToEx(hdc,188,207,0);
            LineTo(hdc,323,201);//3-1
            //от 1 до ?
            MoveToEx(hdc,327,192,0);
            LineTo(hdc,259,72);//1-2
            //от 4 до ?
            MoveToEx(hdc,260,251,0);
            LineTo(hdc,258,70);//4-2
            MoveToEx(hdc,256,251,0);
            LineTo(hdc,194,116);//4-6
            //от 6 до ?
            MoveToEx(hdc,198,110,0);
            LineTo(hdc,321,110);//6-7
 
 
 
 
 
            EndPaint(hwnd,&ps);
0
Миниатюры
Рисование c Win32API   Рисование c Win32API  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2012, 15:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рисование c Win32API (C++):

С++ и Win32API - C++
посоветуйте хорошую книгу по программированию на с++ с использованием winapi и чтобы там примеры реальных программ были самое главное.

Win32API - C++
Как делать анимацию в Win32API ? можно обяснить ето на небольшом примере?

C++ & Win32Api - C++
Начал программировать на c++ и тут же задача: Как создать 2 окна средствами Api? hwnd = CreateWindowEx ( 0, ...

Получение параметра из потока win32api c++ - C++
Задача заключается в том,что мне присылают в main в качестве параметров количество потоков,и аргумент. Этот аргумент нужно в потоке...

win32api странности при выводе на экран - C++
Доброго времени суток. Возникла проблема: при использовании в цикле TextOut на экран выводится только одна первая цифра, считанная из...

в проекте - надо в проекте win32api вынести все в другой *cpp* а не получаеться - C++
определил функцию в другом спп и в основном ругается компилятор

2
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
28.06.2012, 15:40 #2
И возник вопрос - как можно добавить цифры в эти эллипсы
Функция sprintf (#include <stdio.h> ) позволяет записать числа в строку, а функция TextOut позволяет вывести текст

Рисование дуги это вроде бы функция ArcTo только там надо учесть порядок обхода ( перечисления точек) ( по часовой стрелке). Функция ArcTo может не сработать тогда нужно изменить порядок перечисления точек.
1
Toson
0 / 0 / 0
Регистрация: 28.06.2012
Сообщений: 20
28.06.2012, 18:44  [ТС] #3
Цитата Сообщение от asidorchenko Посмотреть сообщение
Функция sprintf (#include <stdio.h> ) позволяет записать числа в строку, а функция TextOut позволяет вывести текст

Рисование дуги это вроде бы функция ArcTo только там надо учесть порядок обхода ( перечисления точек) ( по часовой стрелке). Функция ArcTo может не сработать тогда нужно изменить порядок перечисления точек.
А можно пример того, как это можно сделать, если не сложно?)

Добавлено через 2 часа 53 минуты
Цитата Сообщение от asidorchenko Посмотреть сообщение
Функция sprintf (#include <stdio.h> ) позволяет записать числа в строку, а функция TextOut позволяет вывести текст

Рисование дуги это вроде бы функция ArcTo только там надо учесть порядок обхода ( перечисления точек) ( по часовой стрелке). Функция ArcTo может не сработать тогда нужно изменить порядок перечисления точек.
А, хотя все, разобрался, кривые проще просто составлять из нескольких прямых, а вот за TextOut и sprintf ОГРОМНОЕ СПАСИБО!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2012, 18:44
Привет! Вот еще темы с ответами:

Рисование в С++ - C++
Написал следующую программу на Турбо С++ 3.0: #include &lt;graphics.h&gt; #include &lt;stdlib.h &gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt;...

рисование в с++ - C++
можно ли рисовать в borland c++ (если можно то как)reen&quot;]

Рисование - C++
Здравствуйте..) Что - то обрыскивание интернета не привело меня к удовлетворяющим результатам по поводу рисования в консоли. У нас тут...

Рисование в С++ - C++
У кого есть какие примеры рисования в С++. Вот например мой, два эллипса с заливкой и фоном, реагируют на нажатия стрелок и двигаются по...


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

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

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