реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Visual studio c++ 2005 express, Пример проекта работы с графикой
mantech
сообщение Jan 11 2018, 08:19
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Приветствую.
Если у кого есть простенький пример работы с графикой в данной IDE ? Интересует проект целиком, (не просто кусок вырванного кода), чтоб можно было сразу запустить, посмотреть и разобраться, как работает. Сразу скажу - в ооп разбираюсь не очень и честно говоря совсем нет желания лезть в это болото, но по другому тут никак. Все, что нужно - рисование линии, прямоугольника, если чего еще - неплохо.

ЗЫ. Просьба не отсылать к борланду и пр. интересует именно эта среда программирования.
Go to the top of the page
 
+Quote Post
alexunder
сообщение Jan 11 2018, 08:43
Сообщение #2


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(mantech @ Jan 11 2018, 09:19) *
ЗЫ. Просьба не отсылать к борланду и пр. интересует именно эта среда программирования.

C++ или C#?
P.S. В чем смысл использования студии 2005 года? С 2015-го она бесплатная (Community Edition).


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 11 2018, 12:11
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(alexunder @ Jan 11 2018, 11:43) *
C++ или C#?
P.S. В чем смысл использования студии 2005 года? С 2015-го она бесплатная (Community Edition).


C++

В чем смысл, просто делал на ней несколько консольных программ, пойдут-ли они без доработок на 2015 - х.з.

"С 2015-го она бесплатная (Community Edition)." В т.ч. и для коммерческого использования?
Go to the top of the page
 
+Quote Post
alexunder
сообщение Jan 11 2018, 13:02
Сообщение #4


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(mantech @ Jan 11 2018, 13:11) *
В чем смысл, просто делал на ней несколько консольных программ, пойдут-ли они без доработок на 2015 - х.з.

Должны пойти, это же чистый C++.
Гуй добавить несложно, тут либо MFC использовать (старорежимная майкросовтовская библиотека классов), либо классы из .Net типа Windows Forms, но я не имею опыта работы с Winforms из C++. Судя по статьям, все должно взлететь.
Для MFC на домашнем компе могу поискать старые проекты с графикой.

Цитата(mantech @ Jan 11 2018, 13:11) *
"С 2015-го она бесплатная (Community Edition)." В т.ч. и для коммерческого использования?

Да. Ваш проект из 2005 должен будет в ней открыться без проблем после конвертации.

https://www.visualstudio.com/ru/vs/community/
Цитата
Для индивидуальных пользователей
Любой индивидуальный разработчик может создавать бесплатные или платные приложения с помощью Visual Studio Community.

Для организаций
Visual Studio Community может использовать неограниченное число пользователей в организации в следующих случаях: в учебных аудиториях, для научных исследований или участия в проектах с открытым кодом.
Для всех прочих сценариев использования:
В некорпоративных организациях Visual Studio Community могут использовать до 5 пользователей. В корпоративных организациях (в которых используется более 250 ПК или годовой доход которых превышает 1 млн долларов США) использование запрещено, за исключением случаев, перечисленных выше (открытый код, научные исследования и учебные аудитории).

В общем, мы типа для научных целей её и пользуем как хотим sm.gif


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
ms1
сообщение Jan 11 2018, 13:32
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 150
Регистрация: 13-10-05
Пользователь №: 9 614



Цитата(mantech @ Jan 11 2018, 11:19) *
Если у кого есть простенький пример работы с графикой в данной IDE ? Интересует проект целиком, (не просто кусок вырванного кода), чтоб можно было сразу запустить, посмотреть и разобраться, как работает. Сразу скажу - в ооп разбираюсь не очень и честно говоря совсем нет желания лезть в это болото, но по другому тут никак. Все, что нужно - рисование линии, прямоугольника, если чего еще - неплохо.


Если не хотите ООП и прочего можете попробовать работать непосредственно с Win Api.
Для работы нужна SDK, кажется раздается Майкрософтом также задаром.
Для обучения и примеров скачайте книжку Петзолда "Программирование для windows95" вместе с содержимым дискеты.
На дискете полные исходники программ описанных в каждой главе и скомпилированные из них exe.
Есть примеры работы с графикой текстом и т.п. все разжевано. Можете позапускать готовые exe.
Программы на API будут работать на любой версии Win.

Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 11 2018, 13:35
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(alexunder @ Jan 11 2018, 16:02) *
Гуй добавить несложно, тут либо MFC использовать (старорежимная майкросовтовская библиотека классов), либо классы из .Net типа Windows Forms, но я не имею опыта работы с Winforms из C++. Судя по статьям, все должно взлететь.


Вот и там она мне предлагает использовать win forms, а опыта у меня с ними тоже нет. Нужна программа для создания и редактирования форм пользовательского GUI на подобие Emwin form designer, (создать форму и разместиь в ней кнопки, чекбоксы, графики...) если в курсе, что такое.
Я ее под ДОСом за неделю написал бы, но кому сейчас нужна прога под 16бит ДОС??
Вот и ковыряюсь в этом болоте crying.gif

Сообщение отредактировал mantech - Jan 11 2018, 13:35
Go to the top of the page
 
+Quote Post
alexunder
сообщение Jan 11 2018, 13:51
Сообщение #7


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(mantech @ Jan 11 2018, 14:35) *
Вот и там она мне предлагает использовать win forms, а опыта у меня с ними тоже нет.

Думаю, с вашим опытом изучить винформсы чтоб создать однопотоковое приложение составит не более одного дня. Там ведь тоже графический редактор форм, ничего сложного.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
ms1
сообщение Jan 11 2018, 14:04
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 150
Регистрация: 13-10-05
Пользователь №: 9 614



Цитата(mantech @ Jan 11 2018, 16:35) *
Я ее под ДОСом за неделю написал бы, но кому сейчас нужна прога под 16бит ДОС??


Тогда тем более Вам будет легко освоиться с Win API и быстро написать то что Вам нужно.
Книга приведенная выше как раз для программистов переходящих из ДОС под Виндовс.

PS:
VS2005 также бесплатна как и VS2015.
Не гарантирую что лицензии идентичны, но у Вас ведь есть лицензионное соглашение, можете прочитать его. Если это конечно играет роль в Вашем случае.
Go to the top of the page
 
+Quote Post
_pv
сообщение Jan 11 2018, 15:06
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



https://electronix.ru/forum/index.php?s=&am...t&p=1501122
собственно "проект", это три строчки прагм с библиотеками.

http://seriss.com/people/erco/fltk/#AnimateDrawing
http://www.fltk.org/doc-1.3/drawing.html

надо только собрать библиотеку FLTK, но насколько помню там были проекты для сборки из студии


Go to the top of the page
 
+Quote Post
dxp
сообщение Jan 12 2018, 02:26
Сообщение #10


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Если нужно никидать несложный GUI, то почему бы не использовать тот же Qt? Компилятор можно там использовать по желанию - под вендой MSVC. Бонусом будет кроссплатформенность.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 12 2018, 09:29
Сообщение #11


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(dxp @ Jan 12 2018, 05:26) *
Если нужно никидать несложный GUI, то почему бы не использовать тот же Qt? Компилятор можно там использовать по желанию - под вендой MSVC. Бонусом будет кроссплатформенность.


Зачем мне еще один гуй? Винда уже сама по себе гуй хороший, вопрос в рисовании графики в окне.

Цитата(_pv @ Jan 11 2018, 18:06) *
https://electronix.ru/forum/index.php?s=&am...t&p=1501122
собственно "проект", это три строчки прагм с библиотеками.

http://seriss.com/people/erco/fltk/#AnimateDrawing
http://www.fltk.org/doc-1.3/drawing.html

надо только собрать библиотеку FLTK, но насколько помню там были проекты для сборки из студии


Немного сложновато пока, попробую, может получится rolleyes.gif


ЗЫ. Вот интересно, разработчиков гуев всяческих вроде не мало, а редактор форм для них видел только у емвина, проектов с открытыми исходниками тоже не видать, может не так ищу? laughing.gif

Сообщение отредактировал mantech - Jan 12 2018, 09:31
Go to the top of the page
 
+Quote Post
alexunder
сообщение Jan 12 2018, 09:55
Сообщение #12


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(mantech @ Jan 12 2018, 10:29) *
ЗЫ. Вот интересно, разработчиков гуев всяческих вроде не мало, а редактор форм для них видел только у емвина, проектов с открытыми исходниками тоже не видать, может не так ищу? laughing.gif

Редактор форм есть в любой IDE: MSVS, Qt и пр.
Могу вечером выложить проектик на mfc. Рисовать в окошке там очень просто.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 12 2018, 11:12
Сообщение #13


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(alexunder @ Jan 12 2018, 12:55) *
Редактор форм есть в любой IDE: MSVS, Qt и пр.
Могу вечером выложить проектик на mfc. Рисовать в окошке там очень просто.


Это-то я понимаю, я про редакторы гуев для микроконтроллеров, на подобие емвина... Если брать редакторы от тяжелых иде под винду, то придется парсить их ресурсные файлы, а это не всегда просто и подходит под задачу.
В случае иткрытых исходников редактора их можно "поправить" под свои нужды.

ЗЫ. Для дальнейшего понимания обрисую задачу вообщем:

Есть ПЛК-контроллер, на котором крутится вирт. машина, и работает пользовательский гуй, на подобие винды. Код задач пишется в редакторе вида Edit++ и преобразуется в биткод, который исполняется на ПЛК. Формы для гуя в данный момент пишутся подобно исходникам, которые делает емвин форм креатор(он по началу был взят за основу, но затем возможности гуя выросли и данный редактор перестал удовлетворять), вот ему замену и нужно написать laughing.gif

Сообщение отредактировал mantech - Jan 12 2018, 11:18
Go to the top of the page
 
+Quote Post
alexunder
сообщение Jan 12 2018, 12:27
Сообщение #14


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(mantech @ Jan 12 2018, 12:12) *
ЗЫ. Для дальнейшего понимания обрисую задачу вообщем:

Ясно, я Вас неправильно понял в начале темы.

Если брать гуй-редактор от MSVS, то если использовать Windows Forms, парсить придется только метод InitializeComponent() дизайнерского c# файла. Вот, например, окошко с кнопкой описывается таким образом:
Код
        private void InitializeComponent()
        {
            this.button1 = new System.Windows.Forms.Button();
            this.SuspendLayout();
            //
            // button1
            //
            this.button1.Location = new System.Drawing.Point(68, 90);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(107, 42);
            this.button1.TabIndex = 0;
            this.button1.Text = "button1";
            this.button1.UseVisualStyleBackColor = true;
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(292, 268);
            this.Controls.Add(this.button1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);
        }



Если использовать более современную WPF, то код такой же формы описывается XML-языком:
Код
<Window x:Class="WpfApplication3.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApplication3"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="150,115,0,0" VerticalAlignment="Top" Width="135" Height="55"/>
    </Grid>
</Window>


в общем, оба варианты имеют довольно неплохую "парсабилити". Последний удобнее, ибо XML, для которого есть полно библиотек во всех языках.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
_pv
сообщение Jan 12 2018, 12:42
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



fluid у fltk сразу с++ код генерит, причём возможно удастся fltk перенести прям на ПЛК.
ну или https://github.com/vurtun/nuklear какой-нибудь.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th April 2024 - 23:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01524 секунд с 7
ELECTRONIX ©2004-2016