Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
DarkMasterW
4 / 4 / 1
Регистрация: 25.10.2013
Сообщений: 230
1

GUI без фреймворков

17.08.2014, 03:13. Просмотров 1853. Ответов 17
Метки нет (Все метки)

Появилось желание обернуть программку в GUI(да и чего греха таить, в целом научиться делать интерфейсы). Начал собирать окошко через WinForms - смотрю оно фреймворки использует. Это дело я недолюбливаю и хотелось бы избежать полностью. Забил в гугл - практически все сводится к "не пишите на с++ интерфейсы, фрейморки, Qt". Задачи по кросплатформенности нет, требуется "джентльменский набор": пара кнопок, пара галок, возможно пара радиобаттонов и область для введения многострочного текста. За каким чертом для этого нужен фреймворк мне не понять. Qt смысла великого для таких задач использовать тоже не вижу. В общем: как создать обычное олдскульное(времен начала ХР) окно без всяких свистелок?
Спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2014, 03:13
Ответы с готовыми решениями:

Написание GUI руками, без привлечения специализированных фреймворков - нужно ли и если да, то в каких случаях?
Хочется узнать мнение гуру по поводу написания GUI руками.Можно ли реально от...

Как запустить GUI приложение (например, notepad.exe) без отображения GUI?
Добрый день. Интересует есть ли такая возможность, как запустить GUI приложение...

GUI С++ в eclipse без дополнительных библиотек
Всем доброго времени суток и всех с наступающим НГ! Подскажите какую-нибудь...

Приложение для доступа к БД программным путем без инструментов GUI
Вопрос задавался не раз. Извиняюсь за дублирование. Столкнулся с базами...

GUI
Подскажите что это GUI

17
Avazart
Эксперт С++
7756 / 5662 / 554
Регистрация: 10.12.2010
Сообщений: 25,663
Записей в блоге: 17
17.08.2014, 03:17 2
Изучай WinApi.
0
DarkMasterW
4 / 4 / 1
Регистрация: 25.10.2013
Сообщений: 230
17.08.2014, 03:34  [ТС] 3
Среда MSVS 2013. Забыл указать.
В студии возможно накидать форму на WinApi через визуальное редактирование? Не то чтобы это какое-то обязательное условие, я даже когда-то читал и заглушку оконную делал ручками, но имхо изврат рисовать чистым кодом, видя результат только при запуске. Это как изображение не а граф редакторе делать, а рисовать чистым кодом
0
moex
Заблокирован
17.08.2014, 03:36 4
смотрю оно фреймворки использует.
И что теперь? Ну .NET это действительно не дело, мало того, что будет в самом .NET нуждаться, так еще и в VC++ Redist. Но Qt-то можно и статически отлинковать, тогда вообще ничего кроме ехе нужно не будет?

Изучай WinApi.
Верно. Вот хелловорлд (на чистом Си, кстати, хотя компилятором разумеется С++ тоже компилируется)
http://msdn.microsoft.com/ru-ru/library/bb384843.aspx
и во вложении - пара неплохих методичек по WinAPI.

Предупреждаю: не исключено, что это решение покажется вам слишком сложным и при кодинге будет сильно не хватать какого-либо фреймворка, необязательно кроссплатформенного, но хоть MFC (тоже линкуется статически, кстати). На то оно и WinAPI.
0
Вложения
Тип файла: zip C++ WinAPI.zip (438.4 Кб, 18 просмотров)
_Ivana
3236 / 1864 / 235
Регистрация: 01.03.2013
Сообщений: 5,108
Записей в блоге: 5
17.08.2014, 05:30 5
Какая интересная для меня тема, и слова недавно узнанные - фреймворк, Qt и т.д. Буквально на днях впервые в жизни сделал тетрис на чистом ВинАпи, все в коде и ручками - и ничего, не напрягся. Хотел уже ТС посоветовать и ссылки дать, а он не хочет в коде формы рисовать... А если/когда если будет надо изменить параметры элементов и/или все формы в зависимости от действий пользователя, я не знаю как рисовалка окон не в коде справится с этим....
0
gazlan
3143 / 1919 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
17.08.2014, 07:31 6
Цитата Сообщение от DarkMasterW Посмотреть сообщение
В общем: как создать обычное олдскульное (времен начала ХР) окно без всяких свистелок?
Петцольд Ч. Программирование для Windows 95. 1997, Издательство: BHV - Санкт-Петербург ISBN: 5-469-00005-2

Знаменитая книга Ч.Петцольда, с которой большинство разработчиков начинают своё знакомство с Windows API. Несмотря на то, что в книге описывается API для Windows 95, книга до сих пор является настольной для большинства Windows-разработчиков.

Большинство существующих библиотек для разработки Windows-приложений, такие как MFC, VCL являются обёртками для Windows API и не предоставляют всех возможностей операционной системы. Для того, чтобы использовать возможности Windows в полной степени зачастую требуется обращаться напрямую к операционной системе. Книга читается легко и с интересом.
А от себя посоветую MFC.
0
Убежденный
Ушел с форума
Эксперт С++
16128 / 7275 / 1181
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
17.08.2014, 10:50 7
Цитата Сообщение от DarkMasterW Посмотреть сообщение
В общем: как создать обычное олдскульное(времен начала ХР) окно без всяких свистелок?
DIALOG resource
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

DialogBoxParam function
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

CreateWindowEx function
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

Using Dialog Boxes
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

Windows
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
2
_Ivana
3236 / 1864 / 235
Регистрация: 01.03.2013
Сообщений: 5,108
Записей в блоге: 5
17.08.2014, 15:34 8
А я бы еще вот эту ссылку добавил - хотя это в принципе то же самое
http://zetcode.com/gui/winapi/
0
dr.curse
393 / 349 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
17.08.2014, 15:51 9
DarkMasterW, Р. М. Ганеев.: Проектирование интерфейса средствами Win32 API
0
Voivoid
709 / 281 / 16
Регистрация: 31.03.2013
Сообщений: 1,339
17.08.2014, 17:09 10
http://www.terrainformatica.com/sciter/
0
ForEveR
В астрале
Эксперт С++
7997 / 4755 / 652
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
18.08.2014, 10:03 11
Цитата Сообщение от _Ivana Посмотреть сообщение
А если/когда если будет надо изменить параметры элементов и/или все формы в зависимости от действий пользователя, я не знаю как рисовалка окон не в коде справится с этим...
Кхм. А вы как считаете работает дизайнер окон? В любом случае создание всех окон будет описано в коде. Поэтому, нет никаких проблем с кастомизацией.
0
_Ivana
3236 / 1864 / 235
Регистрация: 01.03.2013
Сообщений: 5,108
Записей в блоге: 5
18.08.2014, 13:38 12
Я не знаю как работает именно тот дизайнер окон, который имеется в виду. Предполагаю, что теоретически возможно 2 варианта:
1) рядом с файлом кода создается отдельный файл непонятного формата, в котором зашифрованы параметры визуализации и окон, и этот файл не переводится в код С/С++ а вклинивается в ассемблерный код на этапе или линковки или чего-то подобного. Или вообще не вклинивается, а лежит отдельным модулем. И тогда уже нет возможности ничего менять в коде. Я работал с подобным механизмом, в разных приложениях, правда не на С++. Например, в Матлабе можно создать элементы GUI руками в коде, а можно через подобный файл.
2) как вы и сказали - дизайнер окон может быть просто визардом, результат работы которого в конечном итоге пропишется явным образом в коде. Но тогда имхо лучше будет самому все руками в том же коде прописать.
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
18.08.2014, 13:51 13
Цитата Сообщение от DarkMasterW Посмотреть сообщение
Qt смысла великого для таких задач использовать тоже не вижу. В общем: как создать обычное олдскульное(времен начала ХР) окно без всяких свистелок?
Спасибо.
ну в qt эт сделать будет легче, чем ковыряться в winAPI с этими обратными вызовами и кучей параметров(взялся как-то в это дело вникнуть, потратил пару дней, потом понял что ну не надо этим голову забивать т.к. если этим постоянно не заниматься то забуду всёравно, надо только для понимания...) - тут всё проще, создал кнопку, создал сигнал, создал слот, привязал к кнопке, всё. Ну только разве что придётся статическую qt собирать, но тут на форуме это всё тоже описано и проблем возникнуть не должно
0
Avazart
Эксперт С++
7756 / 5662 / 554
Регистрация: 10.12.2010
Сообщений: 25,663
Записей в блоге: 17
18.08.2014, 14:04 14
Цитата Сообщение от DarkMasterW
Qt смысла великого для таких задач использовать тоже не вижу.
А что будет когда понадобится свистелки?
Собственно дизайнер форм это свистелка по вашему ?

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

Цитата Сообщение от dzrkot Посмотреть сообщение
Ну только разве что придётся статическую qt собирать, но тут на форуме это всё тоже описано и проблем возникнуть не должно
Да только размер экзешника будет > 5 МБ в сравнении с WinApi приложением многовато, собственно плата за удобство и кроссплатформенность.
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
18.08.2014, 14:13 15
Цитата Сообщение от Avazart Посмотреть сообщение
Да только размер экзешника будет > 5 МБ в сравнении с WinApi приложением многовато, собственно плата за удобство и кроссплатформенность.
часто вы сталкивались с проблемой нехватки памяти? По-моему эта проблема уже в прошлом
0
Avazart
Эксперт С++
7756 / 5662 / 554
Регистрация: 10.12.2010
Сообщений: 25,663
Записей в блоге: 17
18.08.2014, 15:35 16
Цитата Сообщение от dzrkot Посмотреть сообщение
часто вы сталкивались с проблемой нехватки памяти? По-моему эта проблема уже в прошлом
А ноутбуки? Или вам нравится таскать за собой карманы?

Еще раз повторю, это все зависит от задачи и требований к ней, в том числе к размеру исполняемого файла.
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
18.08.2014, 15:42 17
Цитата Сообщение от Avazart Посмотреть сообщение
Еще раз повторю, это все зависит от задачи и требований к ней, в том числе к размеру исполняемого файла.
и я о том же, 13мб в данной ситуации не критично для старенького ноута
0
Avazart
Эксперт С++
7756 / 5662 / 554
Регистрация: 10.12.2010
Сообщений: 25,663
Записей в блоге: 17
18.08.2014, 16:00 18
Да, но если вы используете weblkit, то приложение не слинкуется статически, а значит занимать будет от > 40MБ, в то время как к примеру можно использовать С++Builder/Delphi и использовать встраивание IE что даст меньший размер (но вылезут другие нюансы).

Кроме того, если приложение делает что-то простое, а занимает столько места то это может оказаться неоправданным, к примеру для распространения интернетом.
0
18.08.2014, 16:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2014, 16:00

GUI C++
Создать класс ModelWindow для работы с моделями экранных окон. В качестве полей...

GUI
Всем привет. Хотелось бы посоветоваться по поводу GUI. Выбираю библиотеку для...

GUI в C++
Здравствуйте.Нужно на С++ сделать не большой графический интерфейс с парой...


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

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

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