C++ Вопрос WinApi Gui

feel irl
Участник
Статус
Оффлайн
Регистрация
21 Дек 2018
Сообщения
677
Реакции[?]
294
Поинты[?]
16K
Посоветуйте пару книг чтоб изучить в целом как можно там чё-то делать и так далее. ( Курсы, гайды etc тоже не помешают)
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
Посоветуйте пару книг чтоб изучить в целом как можно там чё-то делать и так далее.
Виндовые апи некроссплатформенные, т.е. код непортируем.
Если ты прям хочет упарываться по WInApi, то какую-то информацию в примерах можно найти здесь
Пожалуйста, авторизуйтесь для просмотра ссылки.
, но это буквально одна минута в гугле, читать книги специально никакие не нужно, остальное можно искать по надобности.
Если уж изучать что-то для гуев, так это фреймворки которые будут работать на всех платформах, например Qt (сейчас самый популярный).
 
bluedream.ltd
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
3,009
Реакции[?]
1,277
Поинты[?]
2K
Использование WinGui является не очень хорошим вариантом с точки зрения разработки дескоптных предложений. Для таких целей гораздо лучше подходят библиотеки по типу: ImGui или Nuclear.
 
Участник
Статус
Оффлайн
Регистрация
30 Авг 2020
Сообщения
662
Реакции[?]
396
Поинты[?]
11K
Использование WinGui является не очень хорошим вариантом с точки зрения разработки дескоптных предложений. Для таких целей гораздо лучше подходят библиотеки по типу: ImGui или Nuclear.
Имгуи и Нуклеар библиотеками называть :goplol: :goplol: :goplol: Вам в цирк молодой человек:kek:
 
Участник
Статус
Оффлайн
Регистрация
30 Авг 2020
Сообщения
662
Реакции[?]
396
Поинты[?]
11K
всем прив верите ли вы в призраков ???
Забаненный
Статус
Оффлайн
Регистрация
17 Авг 2018
Сообщения
861
Реакции[?]
338
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Использование WinGui является не очень хорошим вариантом с точки зрения разработки дескоптных предложений. Для таких целей гораздо лучше подходят библиотеки по типу: ImGui или Nuclear.
нуклеар это измененный имгуй же
 
Участник
Статус
Оффлайн
Регистрация
30 Авг 2020
Сообщения
662
Реакции[?]
396
Поинты[?]
11K
bluedream.ltd
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
3,009
Реакции[?]
1,277
Поинты[?]
2K
Я про то, что их не совсем корректно библиотеками называть. :roflanzdarova:
Что в вашем понятии корректно молодой человек? Если вам есть резон называть данные библиотеки «наборами включаемых каталогов для разработки пользовательских графических интерфейсов на языке С++», то вполне себе можете. Но мне нет смысла подобным заниматься, потому предлагаю пректатить несмысленный спор.
 
feel irl
Участник
Статус
Оффлайн
Регистрация
21 Дек 2018
Сообщения
677
Реакции[?]
294
Поинты[?]
16K
Использование WinGui является не очень хорошим вариантом с точки зрения разработки дескоптных предложений. Для таких целей гораздо лучше подходят библиотеки по типу: ImGui или Nuclear.
Использование WinGui является не очень хорошим вариантом с точки зрения разработки дескоптных предложений
Почему?
лучше ImGui или Nuclear.
Почему? ( не берём в расчёт удобство )
 
bluedream.ltd
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
3,009
Реакции[?]
1,277
Поинты[?]
2K
Как минимум устаревание библиотеки, много лишнего, а также как сказали выше отсутствие кроссплатформенности. Но всё же варианты предложенные мной тоже не славятся кроссплатформенностью, за то обладают небольшим и понятным функционалом, который легко изучить, переписать и спроецировать своё!
 
feel irl
Участник
Статус
Оффлайн
Регистрация
21 Дек 2018
Сообщения
677
Реакции[?]
294
Поинты[?]
16K
Как минимум устаревание библиотеки, много лишнего, а также как сказали выше отсутствие кроссплатформенности. Но всё же варианты предложенные мной тоже не славятся кроссплатформенностью, за то обладают небольшим и понятным функционалом, который легко изучить, переписать и спроецировать своё!
Ну насчёт устаревших соглашусь. Кроссплатформенность мне не нужна особо, но тоже важная вещь.
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
Имгуи и Нуклеар библиотеками называть
Это библиотеки и есть, представляешь!
Потому что imgui и nuklear это immediate-mode гуи, сейчас объясню разницу.
1) Исторически первым появился именно retained гуи, это когда у тебя каждый виджет (кнопка, текст и т.д.) это объект, который ты создаешь, т.е. есть форма, в ней виджеты и т.д., и все они существуют в явной форме и где-то хранятся. При этом у таких гуев есть очень важное свойство, они перерисовываются только при изменении, обычно нагрузка появляется только при действиях пользователя и ресайзе, это очень сильно экономит ресурсы. Примеры таких гуев большинство Qt, gtk, wxwidgets, и еще множество. Все они отлично используются именно для десктопных приложений, но их хер встроишь например в качестве меню в чит (потому что у них свой цикл работы, а игра обновляется каждый кадр).
2) Второй вариант это immediate гуи, в этом случае ты просто описываешь какие элементы ты хочешь с их параметрами. Им гораздо проще пользоваться, но у них много недостатков. Они обновляются каждый кадр, и это жрет очень много ресурсов, условно твой десктоп гуи на imgui будет жрать как слабенькая игра (потому что это так и есть, в твой апп даже nvidia будет инжектиться). Так же, на самом деле в imgui те же объекты существуют, просто они скрыты от пользователя, и там происходит тонна кеширований, чтобы это работало с приемлимой скоростью. Примеры таких гуи imgui, nuklear, в unity вроде тоже был. В общем эти гуи подходят для какого-то быстрого прототипирования, мелких инструментов, меню для чита, но для приложений их использовать идея не очень.
 
bluedream.ltd
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
3,009
Реакции[?]
1,277
Поинты[?]
2K
Ну насчёт устаревших соглашусь. Кроссплатформенность мне не нужна особо, но тоже важная вещь.
У ImGui и Nuсlear просто интуитивно понятный код, который ко всему прочему можно полностью изменить под себя.
 
feel irl
Участник
Статус
Оффлайн
Регистрация
21 Дек 2018
Сообщения
677
Реакции[?]
294
Поинты[?]
16K
Потому что imgui и nuklear это immediate-mode гуи, сейчас объясню разницу.
1) Исторически первым появился именно retained гуи, это когда у тебя каждый виджет (кнопка, текст и т.д.) это объект, который ты создаешь, т.е. есть форма, в ней виджеты и т.д., и все они существуют в явной форме и где-то хранятся. При этом у таких гуев есть очень важное свойство, они перерисовываются только при изменении, обычно нагрузка появляется только при действиях пользователя и ресайзе, это очень сильно экономит ресурсы. Примеры таких гуев большинство Qt, gtk, wxwidgets, и еще множество. Все они отлично используются именно для десктопных приложений, но их хер встроишь например в качестве меню в чит (потому что у них свой цикл работы, а игра обновляется каждый кадр).
2) Второй вариант это immediate гуи, в этом случае ты просто описываешь какие элементы ты хочешь с их параметрами. Им гораздо проще пользоваться, но у них много недостатков. Они обновляются каждый кадр, и это жрет очень много ресурсов, условно твой десктоп гуи на imgui будет жрать как слабенькая игра (потому что это так и есть, в твой апп даже nvidia будет инжектиться). Так же, на самом деле в imgui те же объекты существуют, просто они скрыты от пользователя, и там происходит тонна кеширований, чтобы это работало с приемлимой скоростью. Примеры таких гуи imgui, nuklear, в unity вроде тоже был. В общем эти гуи подходят для какого-то быстрого прототипирования, мелких инструментов, меню для чита, но для приложений их использовать идея не очень.
Ну я примерно понял, но причём тут винапи(ну типа нислова про это)
 
bluedream.ltd
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
3,009
Реакции[?]
1,277
Поинты[?]
2K
money++
Разработчик
Статус
Оффлайн
Регистрация
14 Июн 2018
Сообщения
638
Реакции[?]
339
Поинты[?]
22K
Использование WinGui является не очень хорошим вариантом с точки зрения разработки дескоптных предложений. Для таких целей гораздо лучше подходят библиотеки по типу: ImGui или Nuclear.
ImGui и WinApi GUI имеют совсем разные цели. ImGui создано для тех случаев, когда ты хочешь отрисовывать гуи заново каждый кадр, ну или сверху в оверлее. WinApi GUI используется для создания классических приложений с гуи - таким приложением не надо часто перерисовываться, что позволяет запустить кучу таких окошех рядом. Так что винапи правильно заменять Qt и подобными. Аналогично с Nuklear - если использовать его без связки с винапи то окно будет рендерится каждый кадр. Что больно ударит по производительности, если одновременно открыть несколько таких приложений
 
Забаненный
Статус
Оффлайн
Регистрация
10 Сен 2021
Сообщения
33
Реакции[?]
8
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Притом, что тебе объяснили, что они проще, но не для супер серьезных целей.
Когда кроме ImGui и Nuclear больше не слышал и не использовал И ГОВОРИТ ЧТО всё остальное такое - себе.
 
bluedream.ltd
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
3,009
Реакции[?]
1,277
Поинты[?]
2K
Когда кроме ImGui и Nuclear больше не слышал и не использовал И ГОВОРИТ ЧТО всё остальное такое - себе.
Где Вы увидели, что я написал, что ничего кроме этого не использовал?
 
Забаненный
Статус
Оффлайн
Регистрация
10 Сен 2021
Сообщения
33
Реакции[?]
8
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Где Вы увидели, что я написал, что ничего кроме этого не использовал?
Если бы ты использовал, то не писал что ImGui и Nucler очень понятны и кастомизированны по сравнению с остальными.
Ибо банально qt имеет форму + каждый объект её стилизируются как CSS и можно его как хочешь вертеть (это удобнее ImGui и Nuclear).
Когда ты пишешь с использование ImGUi ты так - же юзаезь WinApi и писать что оно лучше чего то это не целесообразно.
 
Сверху Снизу