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

MFC WinApi для создания интерфейса - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
Rybis
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 16
10.07.2014, 20:11     MFC WinApi для создания интерфейса #1
В общем я хочу научиться делать приложения простым языком форма с кнопочками и это приложение должно обращаться к винде залазить в файлы и тд. Слышал о функциях WinApi Как бы они решают мою проблему с обращением к винде а вот форму тоже в Api Делать? Да и в общем MFC Это упрощение winapi?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2014, 20:11     MFC WinApi для создания интерфейса
Посмотрите здесь:

C++ MFC для новичков (Visual Studio)
Литература по WinAPI для начинающих C++
Посоветуйте литературу для MFC проектов C++ 2010 C++
Литература для графического интерфейса C++
C++ Подскажите библиотеку для создание графического интерфейса
чем отличаются структуры для наследования интерфейса, от структур, для наследования реализаций C++
Реализация графического интерфейса пользователя в приложениях WinAPI. Ошибка default C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ssXXss
264 / 186 / 10
Регистрация: 15.01.2011
Сообщений: 668
11.07.2014, 08:27     MFC WinApi для создания интерфейса #21
Убежденный, если кратко, то для каждой гайки нужен свой ключик ))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5534 / 2568 / 234
Регистрация: 01.11.2011
Сообщений: 6,345
Завершенные тесты: 1
11.07.2014, 08:44     MFC WinApi для создания интерфейса #22
Цитата Сообщение от Psilon Посмотреть сообщение
Овальная кнопка на MFC
овальная кнопка на WPF
Знаете в чем шутка? Овальная - хорошо, а как на счет семиугольной несимметричной звезды на палке и под углом в тридцать градсов? На MFC это займет приблизительно столько же кода, что и овальная. А на WPF? Хорошо, если там задумались об овальности и сделали ее так легко реализуемой, но в данном случае это плохой пример. И плохой как раз из-за того, что в WPF это есть, а в MFC нет.
gazlan
3086 / 1861 / 278
Регистрация: 27.08.2010
Сообщений: 5,013
Записей в блоге: 1
11.07.2014, 09:52     MFC WinApi для создания интерфейса #23
Цитата Сообщение от uglyPinokkio Посмотреть сообщение
аргументы за ExamDiff против KDiff3
ExamDiff удобен возможностью непосредственного редактирования обеих панелей (это полноценные редакторы) и легкостью перемещения произвольных (независимо от дельты) блоков кода между ними.

К слову, именно KDiff3 у меня довольно криво отображается (патамушта Qt).
Миниатюры
MFC WinApi для создания интерфейса  
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
11.07.2014, 10:05     MFC WinApi для создания интерфейса #24
Цитата Сообщение от gazlan Посмотреть сообщение
ExamDiff удобен возможностью непосредственного редактирования обеих панелей (это полноценные редакторы) и легкостью перемещения произвольных (независимо от дельты) блоков кода между ними.
А, это да, это в WinMerge тоже нравилось, но KDiff3 лучше сливает. Не нашел в ExamDiff поддержки UTF-8, оно там есть?
gazlan
3086 / 1861 / 278
Регистрация: 27.08.2010
Сообщений: 5,013
Записей в блоге: 1
11.07.2014, 10:38     MFC WinApi для создания интерфейса #25
Цитата Сообщение от uglyPinokkio Посмотреть сообщение
Не нашел в ExamDiff поддержки UTF-8
В документации не видел, но по факту есть. По крайней мере, текстовые файлы на русском сравнивает корректно.
Миниатюры
MFC WinApi для создания интерфейса   MFC WinApi для создания интерфейса   MFC WinApi для создания интерфейса  

-=ЮрА=-
Заблокирован
Автор FAQ
11.07.2014, 11:01     MFC WinApi для создания интерфейса #26
Цитата Сообщение от Psilon Посмотреть сообщение
gazlan, извиняюсь, что вмешиваюсь, но это не такое уж сложное приложение, опять же. Одна менюшка, десяток однотипных кнопочек и 2 richtextbox, которые из коробки поддерживают выделение и подсветку. Хотя может в MFC нету их, но контрол самый обычный.
- любой контрол в MFC имеет пропертю CustomDraw что позволяет отрисовать его по совему, более того имеется возможность создать Custom Control наделив его какими мы пожелаем свойствами и сделав его каким угодно.
Я искренне прошу людей ИМХО чьи знания в MFC на уровне достаточный минимум не делать экспертных оценок на уровне адвансд или профи.
Avazart
Нарушитель
6954 / 5192 / 256
Регистрация: 10.12.2010
Сообщений: 22,768
Записей в блоге: 17
11.07.2014, 13:43     MFC WinApi для создания интерфейса #27
Цитата Сообщение от gazlan Посмотреть сообщение
К слову, именно KDiff3 у меня довольно криво отображается (патамушта Qt).
Че не понятно что проблема с шрифтами, а с Qt ?

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- любой контрол в MFC имеет пропертю CustomDraw что позволяет отрисовать его по совему, более того имеется возможность создать Custom Control наделив его какими мы пожелаем свойствами и сделав его каким угодно.
Я искренне прошу людей ИМХО чьи знания в MFC на уровне достаточный минимум не делать экспертных оценок на уровне адвансд или профи.
Тоже самое можно сделать и в Qt и VСL.

Добавлено через 2 минуты
Цитата Сообщение от Psilon Посмотреть сообщение
От знакомых Qt-шников слышал, что там даже еще проще. Ну и рендер на видюхе как бонус.
В Qt к примеру нет родных компонентов для работы с графиками, как например в VCL, кстати gazlan в твоем примере родной контрол или самописный или сторонний ?
Psilon
Master of Orion
 Аватар для Psilon
5749 / 4697 / 620
Регистрация: 10.07.2011
Сообщений: 14,163
Записей в блоге: 5
Завершенные тесты: 4
11.07.2014, 13:53     MFC WinApi для создания интерфейса #28
Такой подход с нынешним юзером не работает. Он, ленивая скотина, хочет чувствовать себя
защищенным, но ни хрена не хочет анализировать и вообще работать с данными, хочет
чувствовать ситуацию под контролем, но не пытаясь разобраться в "контролируемом" предмете.
Для таких и нужны навороченные графики реального времени и вообще GUI к задачам,
которые традиционно были демонами.

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

Еще раз: возьмите десктопное приложение под большую винду (это ваше изначальное
ограничение), ценность GUI для которого неоспорима. То есть, не сетевой экран со свистом.
Что это будет? В доброй половине случаев — приложение с документом в центре. То есть,
приложение, для которого контролы/компоненты оказываются на сугубо вспомогательных
ролях, как и библиотеки, построенные вокруг компонентно-контрольных форм.
позиция класс. "Если MFC что-то не умеет, а другие инструменты умеют, то это свистелки и перделки, которые не нужны. Если что-то умеет MFC, чего не умеют другие (как в примере с MDI) - то это отсутствия базового необходимейшего функционала, очередной признак, что MFC незаменим". Просто великолепно Я так что угодно могу доказать.

Цитата Сообщение от SatanaXIII Посмотреть сообщение
Знаете в чем шутка? Овальная - хорошо, а как на счет семиугольной несимметричной звезды на палке и под углом в тридцать градсов? На MFC это займет приблизительно столько же кода, что и овальная. А на WPF? Хорошо, если там задумались об овальности и сделали ее так легко реализуемой, но в данном случае это плохой пример. И плохой как раз из-за того, что в WPF это есть, а в MFC нет.
так овальная тоже займет столько же места, то есть 5 строчек
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
                        <Path Data="M 0,25 C 30,25 30,5    45,2.5  L 265 2.5  C 280,2.5  280,25 310,25 
                                    M 0,25 C 30,25 30,47.5 45,47.5 L 265 47.5 C 280,47.5 280,25 310,25"
                              Fill="{TemplateBinding Background}"
                              Stretch="Fill"
                              Stroke="CornflowerBlue"
                              StrokeThickness="5">
                            <Path.BitmapEffect>
                                    <BevelBitmapEffect BevelWidth="5" />
                            </Path.BitmapEffect>
                        </Path>
эффект:
MFC WinApi для создания интерфейса


Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- любой контрол в MFC имеет пропертю CustomDraw что позволяет отрисовать его по совему, более того имеется возможность создать Custom Control наделив его какими мы пожелаем свойствами и сделав его каким угодно.
Я искренне прошу людей ИМХО чьи знания в MFC на уровне достаточный минимум не делать экспертных оценок на уровне адвансд или профи.
я делаю выводы на тему того, что вижу. Что любой чих сложнее стандартной прямоугольной кнопки вызывает сотни строк неочевидного кода. Единственный плюс, который тут указали на MFC, это то, что интерфейс является узкой прослойкой (это же и недостаток основной, кстати), поэтому все очень быстро работает. Очень рад. Только вот отрисовка интерфейса никогда не является узким местом, даже на шарпе можно сделать 70 000 fps отрисовки формы.
Psilon
Master of Orion
 Аватар для Psilon
5749 / 4697 / 620
Регистрация: 10.07.2011
Сообщений: 14,163
Записей в блоге: 5
Завершенные тесты: 4
11.07.2014, 13:57     MFC WinApi для создания интерфейса #29
офк можно писать свои контролы, делать свою библиотечку, потом фреймворк, и потом переизобретать велосипед... Причем в случае майлешего изменения придется наследовать код и в нем вносить изменения, что весело скажется на последующей отладке.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5534 / 2568 / 234
Регистрация: 01.11.2011
Сообщений: 6,345
Завершенные тесты: 1
11.07.2014, 14:02     MFC WinApi для создания интерфейса #30
Цитата Сообщение от Psilon Посмотреть сообщение
так овальная тоже займет столько же места, то есть 5 строчек
Давайте, уж наверняка что б, еще сводный пример кнопки в форме астролябии и я от вас отстану. Х))
gazlan
3086 / 1861 / 278
Регистрация: 27.08.2010
Сообщений: 5,013
Записей в блоге: 1
11.07.2014, 14:02     MFC WinApi для создания интерфейса #31
Цитата Сообщение от Avazart Посмотреть сообщение
Че, непонятно, что проблема с шрифтами, а с Qt ?
Именно с Qt.

- От, из-звольте. Уся рота, ч-черт бы ее побрал, идет не в ногу. Один п-подпоручик идет в ногу. (с) Ал. Куприн "Поединок"
Psilon
Master of Orion
 Аватар для Psilon
5749 / 4697 / 620
Регистрация: 10.07.2011
Сообщений: 14,163
Записей в блоге: 5
Завершенные тесты: 4
11.07.2014, 14:05     MFC WinApi для создания интерфейса #32
gazlan, кстати, лично я BeyondCompare использую, ну и для простых задач просто в Notepad++ смотрю. А вот насчет BC - вы смотрели его? Что можете сказать?..
gazlan
3086 / 1861 / 278
Регистрация: 27.08.2010
Сообщений: 5,013
Записей в блоге: 1
11.07.2014, 14:05     MFC WinApi для создания интерфейса #33
Цитата Сообщение от Avazart Посмотреть сообщение
самописный или сторонний
Сильно "доработанный напильником" A 2D Lite Graph Control with Multiple Plot Support
Avazart
Нарушитель
6954 / 5192 / 256
Регистрация: 10.12.2010
Сообщений: 22,768
Записей в блоге: 17
11.07.2014, 14:18     MFC WinApi для создания интерфейса #34
Цитата Сообщение от gazlan Посмотреть сообщение
Именно с Qt.
Т.е. есть еще другое приложение на Qt которое также плохо отображает.
gazlan
3086 / 1861 / 278
Регистрация: 27.08.2010
Сообщений: 5,013
Записей в блоге: 1
11.07.2014, 14:46     MFC WinApi для создания интерфейса #35
Цитата Сообщение от Psilon Посмотреть сообщение
насчет BC - вы смотрели его?
Давно и вскользь.

Ничего плохого сказать не могу, но к тому времени, когда я его впервые заметил, уже сформировалась устойчивая привычка к ExamDiff + я старательно избегаю всего, что не на C (только за явным преимуществом или если нет альтернативы). Кроме того, от DIFF-утилиты мне нужно только сравнение текстов (кода), для бинарных файлов я использую другие средства, а для всего прочего - Far, так что большая часть функциональности BC для меня избыточна.

Добавлено через 15 минут
Цитата Сообщение от Psilon Посмотреть сообщение
Что любой чих, сложнее стандартной прямоугольной кнопки, вызывает сотни строк неочевидного кода.
IMHO, это беда почти любого фреймворка и MFC не исключение.

Это как на болоте: или с кочки на кочку, или шаг в сторону - и ты в трясине.

Добавлено через 4 минуты
Цитата Сообщение от Avazart Посмотреть сообщение
другое приложение на Qt, которое также плохо отображает.
Есть несколько на Qt4 - те показывают нормально.
Avazart
Нарушитель
6954 / 5192 / 256
Регистрация: 10.12.2010
Сообщений: 22,768
Записей в блоге: 17
11.07.2014, 14:48     MFC WinApi для создания интерфейса #36
Цитата Сообщение от gazlan Посмотреть сообщение
IMHO, это беда почти любого фреймворка и MFC не исключение.
Да если ты не знаешь хорошо это фрейморк (или ты его создатель)

Добавлено через 56 секунд
Цитата Сообщение от gazlan Посмотреть сообщение
Есть несколько на Qt4 - те показывают нормально.
Ну так вывод ? Видимо просто криво написано (например разработчик просто использовал какой-то нехороший шрифт).
gazlan
3086 / 1861 / 278
Регистрация: 27.08.2010
Сообщений: 5,013
Записей в блоге: 1
11.07.2014, 14:57     MFC WinApi для создания интерфейса #37
Цитата Сообщение от Avazart Посмотреть сообщение
использовал какой-то нехороший шрифт
Гм, возможно. Хотя, в меню так, обычно, не делают. Или, может быть, это проблема именно Qt5.
Avazart
Нарушитель
6954 / 5192 / 256
Регистрация: 10.12.2010
Сообщений: 22,768
Записей в блоге: 17
11.07.2014, 15:01     MFC WinApi для создания интерфейса #38
Цитата Сообщение от gazlan Посмотреть сообщение
Гм, возможно. Хотя, в меню так, обычно, не делают. Или, может быть, это проблема именно Qt5.
А это где? Под линукс?
-=ЮрА=-
Заблокирован
Автор FAQ
11.07.2014, 15:29     MFC WinApi для создания интерфейса #39
Цитата Сообщение от Psilon Посмотреть сообщение
Что любой чих сложнее стандартной прямоугольной кнопки вызывает сотни строк неочевидного кода.
- у меня это занимает 1 строку манифеста причём сразу для целого ряда контролов. Потому и говорю
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
скренне прошу людей ИМХО чьи знания в MFC на уровне достаточный минимум не делать экспертных оценок на уровне адвансд или профи.
.Не хочу затевать холивар, стандартный гуй с МФК (тобишь увязанные пара модальных/неодальных окон листконтролы, можно кастомные и т.д, займут у меня в зависимости от настроения от 7-ми до 15 мин времени), так что давайте не будем спорить на ровном месте.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2014, 15:33     MFC WinApi для создания интерфейса
Еще ссылки по теме:

Литература для создания элементарного языка управляющих сигналов и интерпретатора для него C++
C++ Как начать разрабатывать для WinAPI?
Получение атрибутов файла (а именно дату создания файла) без WinApi C++
C++ Какие нужны библиотеки для создания читов для онлайн игр?

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

Или воспользуйтесь поиском по форуму:
Voivoid
 Аватар для Voivoid
588 / 264 / 12
Регистрация: 31.03.2013
Сообщений: 1,317
11.07.2014, 15:33     MFC WinApi для создания интерфейса #40
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- у меня это занимает 1 строку манифеста причём сразу для целого ряда контролов. Потому и говорю
Просвети
Yandex
Объявления
11.07.2014, 15:33     MFC WinApi для создания интерфейса
Закрытая тема Создать тему
Опции темы

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