Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
 
OlegPL
5 / 5 / 0
Регистрация: 22.10.2013
Сообщений: 100
#1

Какие еще есть способы создания визуальных приложений кроме WinApi? - C++

27.05.2014, 11:21. Просмотров 921. Ответов 20
Метки нет (Все метки)

Здравствуйте, я так понимаю под Windows оконные приложения создаются на WinAPI. Хотел спросить есть ли другие инструменты для создания окон которые более удобные я попроще WinAPI, а то он какой то замороченный... Так же под другие среды работы... Не сочтите мои вопросы неправильно, я просто только учусь программировать...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2014, 11:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какие еще есть способы создания визуальных приложений кроме WinApi? (C++):

MFC+Winapi: воспроизведение аудио (кроме wav) - Visual C++
А ещё что-то можно воспроизводить кроме wav? Тот же mp3, или виндовский wmf там?

Какие еще способы создания прог на С++ под Windows существуют кроме WinAPI и WinForms? - C++ WinAPI
большинство прог написаны на плюсах.это значит на WinAPI?нет?тогда подскажите Спасибо)))

Какие способы создания окна и кнопки в нем Вы знаете? - C++ WinAPI
Добрый вечер! Начнем с того что wxWidgets и Qt не будем рассматривать вот код обычного окна с текстрм внутри #include <windows.h> ...

Какие способы самые удобные/рациональные способы регистрации ошибок есть? - C++
Задался вопросом, а как регистрировать ошибки? При этом чтобы и выглядело это красиво, и понятно было, и компактно. Заводить переменную...

Какие способы создания приложения на этом языке Вы знаете? - C++
ответьте пожалуйста конкретно ну я нуб такой) 1.чтобы отличить код WINAPI от других то винапи это типа "ASD aSsdd....ASDFG xVbb"? то есть...

Кроме Round и Floor еще есть что? - C++
Добрый вечер! Есть в с++ еще что-нибудь для округления при вычислениях (не выводе) кроме вышеуказанных. ______(x,i) - где x - вещ....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
grikukan
61 / 61 / 21
Регистрация: 23.09.2012
Сообщений: 212
28.05.2014, 19:37 #2
Ну их много...
Например есть кроссплатформенный qt, который является очень мощный фреймворком, позволяет делать очень крутые штуки, правда он довольно сложен в изучении
Еще есть wxwidets и GTK+, но с ними я дела не имел.
Croessmah
Модератор
Эксперт CЭксперт С++
13132 / 7395 / 828
Регистрация: 27.09.2012
Сообщений: 18,220
Записей в блоге: 3
Завершенные тесты: 1
28.05.2014, 20:50 #3
Цитата Сообщение от OlegPL Посмотреть сообщение
Здравствуйте, я так понимаю под Windows оконные приложения создаются на WinAPI.
угу
Цитата Сообщение от OlegPL Посмотреть сообщение
Хотел спросить есть ли другие инструменты для создания окон
по сути - нет! Но есть более удобные обертки, который скрывают за собой обращение к API системы.

Можете попробовать MFC. Если с WinAPI разобрались, то тут особых проблем не возникнет, правда и радости доставит мало сие чудо.
AntonChik
1084 / 582 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
29.05.2014, 07:16 #4
Цитата Сообщение от Croessmah Посмотреть сообщение
Можете попробовать MFC. Если с WinAPI разобрались, то тут особых проблем не возникнет, правда и радости доставит мало сие чудо.
это точно. я бы про MFC даже не упоминал) лучше посмотреть в сторону VCL
solar_wind
756 / 747 / 42
Регистрация: 06.07.2009
Сообщений: 2,969
Завершенные тесты: 1
29.05.2014, 07:41 #5
grikukan, Qt не так сложен, как может показаться. Делать интерфейсы там очень просто. Если знаешь ООП и умеешь программировать под WinApi, то изучить Qt проблем не составит, там даже несколько все проще, хоть и есть свои особенности.

OlegPL, MFC это конечно тоже вариант, но от WinAPI он ушел не далеко, лучше уж тогда C#
Psilon
Master of Orion
Эксперт .NET
5887 / 4784 / 633
Регистрация: 10.07.2011
Сообщений: 14,405
Записей в блоге: 5
Завершенные тесты: 4
30.05.2014, 04:18 #6
OlegPL, если уж заговорили про .net, то есть такое чудо, как C++/CLI. Правда я так и не познал его смысл, который совмещает удобство и понятность С++ со скоростью .Net, но кому-то и бейсик нравится
vitecd
18 / 1 / 0
Регистрация: 26.09.2013
Сообщений: 59
04.06.2014, 17:49 #7
скорость .Net это из анекдотов )
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,551
04.06.2014, 18:05 #8
Ребята, вы что тут пишите. WinApi по своей сути и логике работы - очень лёгок, если автор не смог разобраться с ним, то MFC и другие интерфейсы вообще не подойдут.
Мой совет автору - штрудируй WinApi, ибо "не так страшен чёрт как его малюют".
Psilon
Master of Orion
Эксперт .NET
5887 / 4784 / 633
Регистрация: 10.07.2011
Сообщений: 14,405
Записей в блоге: 5
Завершенные тесты: 4
04.06.2014, 18:07 #9
Izual, он не сложный, он мерзкий. Треть параметров не используется, треть должны быть NULL, а последняя треть возвращает миллиард дескрипторов всевозможных структур по ссылке. Короче, одна морока. Один плюс - довольно шустро работает. Но что-то сложнее "создайте пару джобов и переключитесь между несколькими fibers" трудно сделать.
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,551
04.06.2014, 18:13 #10
Цитата Сообщение от Psilon Посмотреть сообщение
Треть параметров не используется, треть должны быть NULL
И что? Всё объяснено на MSDN, примеров работы и как использовать - хоть }|{опой жуй)
Для новичков WinApi -самое оно, я вот уже года два кайфую от него, а вот лезть в MFC - уже тёмный лес, там такой синтаксис, что вот это мерзость. Куча всяких знаков, когда я просматривал варианты использования ListView я чуть со стула не упал, там синтаксис типа: GetTT::>>||[trte]bullshit. Ну это я так примерно, но суть того что вот где мерзость - я в общем то описал. В ту же топку я бы засунул всё классовое программирование, где точно такие же неудобства возникают, о а если векторы взять то в +30 жары думаю мозг просто размажет по стенке через 5 минут изучения)
vitecd
18 / 1 / 0
Регистрация: 26.09.2013
Сообщений: 59
04.06.2014, 18:19 #11
Izual, это где такие варианты использования???
Psilon
Master of Orion
Эксперт .NET
5887 / 4784 / 633
Регистрация: 10.07.2011
Сообщений: 14,405
Записей в блоге: 5
Завершенные тесты: 4
04.06.2014, 18:50 #12
Izual, если у функции больше четырех параметров - это говнокод. С этой точки зрения WinAPI это просто сборник ужасов для самых маленьких. Про MFC/AVL никто вообще не говорит. ГУЙ в винде я бы начинал вообще с чего-нибудь более-менее адекватного, например с Qt, у них очень чистенький код и приятные примитивы. В отличие от монструозного винапи.

Добавлено через 1 минуту
И причем тут примеры на MSDN? "Делайте так, передавайте сюда NULL а сюда пустую строку, а туда 15FF, иначе все сломаете к чертям" - это продуманная архитектура и верх инженерной мысли? Не очень похоже.

Считаю неправильным начинать обучение с уродца, рожденного по ошибке, и обреченного доживать последнее десятилетие до прихода наследников Singularity.
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,551
04.06.2014, 19:10 #13
Цитата Сообщение от Psilon Посмотреть сообщение
если у функции больше четырех параметров - это говнокод
О_о С чего ты взял такое? Если делать программу с более 10к строк кода, то функции придётся делать и свои дабы не повторять одни и те же алгоритмы. Раз так, то вариант первый - весь код суём в один файл, все 10к строк - у меня так(ну потому что я ещё не совсем дорос до красивого кода) и у меня из за 10к строк время ребилда слишком долгое, поэтому сразу можно отмести этот вариант как неудобный и время затратный. Тогда вариант второй - делать несколько файлов и соединять их, ну а вот теперь подумай, если у тебя очень сложный алгоритм который в коде повторяется несколько раз с изменением трёх-пяти параметров - то что же мне десять раз копипастить алгоритм? - нет уж, я лучше 4 параметра в функции буду иметь, нежели плодить повторный код с 3-4 строками изменений.

Цитата Сообщение от Psilon Посмотреть сообщение
С этой точки зрения WinAPI это просто сборник ужасов для самых маленьких
Точка зрения failed.
А в этой теме как раз "для самых маленьких", ибо автор даже с простым WinApi не разобрался - лезть дальше без понимания азов - нет смысла.

Цитата Сообщение от Psilon Посмотреть сообщение
ГУЙ в винде я бы начинал вообще с чего-нибудь более-менее адекватного, например с Qt
Ухахах, да там столько ляпов, что до сих пор половина функций работает криво. Qt это чисто кроссплатформенность - и то, нафига она нужна, если есть Wine. То что Qt прост - ну возможно, но извините, то что в WinApi половина NULL - так это потому что вы не пользуетесь этими параметрами. Или вы что же предлагаете новичкам изучать в корне весь функционал, который им для начала вообще не нужен?.. Зато вот вам плюс - после изучения даже работы функции с половинами NULL - будут базовые знания архитектуры, что в последствии даст рывок для изучения глубин. (куда проще продолжать дело, чем начать заново)

Цитата Сообщение от Psilon Посмотреть сообщение
причем тут примеры на MSDN?
При изучении с нуля и смысла первого поста автора, который сказал что ничего не понял. Ну тут на форуме таких - очень много, а вообще это признак лени или отсутствия мозга, или одно другому не мешает)

Цитата Сообщение от Psilon Посмотреть сообщение
сюда NULL а сюда пустую строку, а туда 15FF
Не вижу проблем, весь функционал и параметры описаны на MSDN, если NULL - значит не парь мозг и ставь NULL - или проблема большая поставить NULL ? Или проблема в отсутствии понимания - ну тогда yandex в помощь. А по поводу шестнадцатиричного "15FF" - ну так напиши функцию преобразования числа в 16-ричную систему счисления из десятиричной. Щяс чую будет ответ "мне что заняться не чем"... =)))

Цитата Сообщение от Psilon Посмотреть сообщение
Считаю неправильным начинать обучение с уродца, рожденного по ошибке, и обреченного доживать последнее десятилетие до прихода наследников Singularity.
Фраза "доставила", значит у уродца есть наследник?))) Яблоко от яблони, дружище)
У С++ тоже есть наследник если что, его зовут JAVA. Так зачем ты вообще на С++ программиш, если есть что то новое... Аяяй не следуеш моде и трэндам, смотри заругает общество, скажет "без D&G в клуб не пустим". =)
Psilon
Master of Orion
Эксперт .NET
5887 / 4784 / 633
Регистрация: 10.07.2011
Сообщений: 14,405
Записей в блоге: 5
Завершенные тесты: 4
04.06.2014, 20:49 #14
Цитата Сообщение от Izual Посмотреть сообщение
О_о С чего ты взял такое? Если делать программу с более 10к строк кода, то функции придётся делать и свои дабы не повторять одни и те же алгоритмы. Раз так, то вариант первый - весь код суём в один файл, все 10к строк - у меня так(ну потому что я ещё не совсем дорос до красивого кода) и у меня из за 10к строк время ребилда слишком долгое, поэтому сразу можно отмести этот вариант как неудобный и время затратный. Тогда вариант второй - делать несколько файлов и соединять их, ну а вот теперь подумай, если у тебя очень сложный алгоритм который в коде повторяется несколько раз с изменением трёх-пяти параметров - то что же мне десять раз копипастить алгоритм? - нет уж, я лучше 4 параметра в функции буду иметь, нежели плодить повторный код с 3-4 строками изменений.
параметром может быть структура, нэ? Или структура структур. И так далее. Почитай "Чистый код", там для новичков, но более-менее разжевано, что к чему.
Цитата Сообщение от Izual Посмотреть сообщение
Точка зрения failed.
А в этой теме как раз "для самых маленьких", ибо автор даже с простым WinApi не разобрался - лезть дальше без понимания азов - нет смысла.
зачем учить с ужасов, если есть нормальные альтернативы? Тем более, что если ТС просто прогать не умеет, то тут уж лучше начинать с какого-нибудь питона.
Цитата Сообщение от Izual Посмотреть сообщение
Ухахах, да там столько ляпов, что до сих пор половина функций работает криво. Qt это чисто кроссплатформенность - и то, нафига она нужна, если есть Wine. То что Qt прост - ну возможно, но извините, то что в WinApi половина NULL - так это потому что вы не пользуетесь этими параметрами. Или вы что же предлагаете новичкам изучать в корне весь функционал, который им для начала вообще не нужен?.. Зато вот вам плюс - после изучения даже работы функции с половинами NULL - будут базовые знания архитектуры, что в последствии даст рывок для изучения глубин. (куда проще продолжать дело, чем начать заново)
Во-первых в Wine ляпов много больше.
Во-вторых Qt и как чисто построение ГУЯ под винду вполне ок. По крайней мере, не хуже какого-нибудь WPF. Про построение интерфейсов на чистом WinAPI, да хотя бы на MFC/AVL уже лет пять ничего не слышно.
Цитата Сообщение от Izual Посмотреть сообщение
При изучении с нуля и смысла первого поста автора, который сказал что ничего не понял. Ну тут на форуме таких - очень много, а вообще это признак лени или отсутствия мозга, или одно другому не мешает)
MSDN - это модно и круто, но в данном случае я не про него говорю, а про винапи. К msdn претензий нет.

Цитата Сообщение от Izual Посмотреть сообщение
Не вижу проблем, весь функционал и параметры описаны на MSDN, если NULL - значит не парь мозг и ставь NULL - или проблема большая поставить NULL ? Или проблема в отсутствии понимания - ну тогда yandex в помощь. А по поводу шестнадцатиричного "15FF" - ну так напиши функцию преобразования числа в 16-ричную систему счисления из десятиричной. Щяс чую будет ответ "мне что заняться не чем"... =)))
Если параметр должен быть всегда одним и тем же - то его быть не должно вообще. Возвращаемся к п.1 - говнокод, отсутствие грамотной архитектуры, этц, этц.
Фраза "доставила", значит у уродца есть наследник?))) Яблоко от яблони, дружище)
мне жаль, что вы не можете правильно по склонению определить, к какому слову относилось это дополнение, поэтому подскажу - наследники "Singularity".
У С++ тоже есть наследник если что, его зовут JAVA. Так зачем ты вообще на С++ программиш, если есть что то новое... Аяяй не следуеш моде и трэндам, смотри заругает общество, скажет "без D&G в клуб не пустим". =)
Это вообще какой-то феерический поток сознания.
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,551
04.06.2014, 21:34 #15
Цитата Сообщение от Psilon Посмотреть сообщение
может быть
В том то и дело что только "может", на практике куча структур когда 10к+строк кода.

Цитата Сообщение от Psilon Посмотреть сообщение
начинать с какого-нибудь питона.
Зачем забивать голову бредо языком?.. Помню лет 10 назад в школе преподавали Micro Pascal, его основы как и Basic легли в Си (ну и С++ я уже не буду упоминать, потому что плюсы для меня уже бред сивой кобылы, предпочитаю структуры обычного Си - ну это в плане читабиельности кода, что лично для меня очень важно).

Цитата Сообщение от Psilon Посмотреть сообщение
Про построение интерфейсов на чистом WinAPI
Поясни пожалуйста. Сути что то не уловил.

Цитата Сообщение от Psilon Посмотреть сообщение
MSDN - это модно и круто
Вот я как раз не про "модно и круто", а про то как научиться - открыть MSDN и читать описание функций, даже с учётом translate всё в принципе понятно, то что остаётся не понятым - смотрится в поисковиках на примерах.

Вот я вообще почему за WinApi - его многие юзают и куча примеров реализаций, поэтому и учить его легко.

Цитата Сообщение от Psilon Посмотреть сообщение
Если параметр должен быть всегда одним и тем же
Ты не внимательно читал. Я сказал что один и тот же алгоритм с изменёнными 4-5 переменными.

Цитата Сообщение от Psilon Посмотреть сообщение
наследники "Singularity".
Не слышал о таком. Просто потому что хоть я и занимаюсь программированием, но есть и другие вещи в жизни которым стоит уделять внимание, потому углубляться во все производные всех языков не вижу смысла, мне Си и winapi хватает.(ну а дальше по предпочтениям доп. работы библиотек например DX, Dshow и т.п.)

Цитата Сообщение от Psilon Посмотреть сообщение
Это вообще какой-то феерический поток сознания.
По поводу Java - ну в инете написано что он наследник Си (хотя даже не обычного Си, а именно С++, т.к. я как то посмотрел чё там в Jave и ужаснулся натыканным везде где только можно классам). А по поводу шутки - ну это адекватная реакция человека, который занимается развитием общества (имею ввиду что программинг сделает мир лучше, если конешно в правильную сторону программить, хотя даже и без правильной - всё равно сделает, потому что основа программинга - логика, которая развивает людей) и услышав неприемлимое в данной тематике слово "мода" - ответил сарказмом, просто потому что мы тут не меряемся линейкой, а стараемся развить прогресс, ну в меру того на сколько мы можем.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2014, 21:34
Привет! Вот еще темы с ответами:

Какие есть способы принять лямбду в кач-ве аргумента? - C++
добрый день, господа. имею два вопроса. вопрос раз: какие способы есть принять лямбду в кач-ве аргумента функции.. ..помимо...

Какая среда, кроме visual studio, есть еще для c++ - C++
Вообще в какой среде лучше всего писать программы на c++, я иммею ввиду не чтобы научиться языку c++, а чтобы писать полноценные программы...

Какие есть способы задания огромных массивов - более 2Gb? - C++
Что делать, если требуется массив значительно превышающий максимально допустимую длину в MVS (2Gb)? Значительно превышающий = на порядок...

Какие есть способы или алгоритмы написания программы для нахождения обратной матрицы - C++
Подскажите, пожалуйста, какие есть способы или алгоритмы написания программы для нахождения обратной матрицы.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.06.2014, 21:34
Ответ Создать тему
Опции темы

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