|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.07.2012, 17:17 | #11 |
Пользователь
Регистрация: 29.05.2012
Сообщений: 23
|
|
26.07.2012, 22:36 | #12 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Поясню. Я действительно не слишком хорошо разбираюсь в MFC. Уровня знаний вполне хватает, чтобы в случае необходимости спокойно писать программы уровня курсовых. Однако, во время работы над ними я не получаю от процесса никакого удовольствия.
Огромное количество автоматически генерируемых файлов поистине зубодробительного содержания. Какие-то непонятные конструкции (макросы?) в них, задумываться над значением которых откровенно не хочется (а знают это значение наверняка только просветленные гуру). Хорошего во всем этом мракобесии только то, что нет необходимости самому все эти странности писать. С другой стороны, если бы это приходилось писать самостоятельно, я бы в жизни к MFC не прикоснулся. И, скорее всего, далеко не только я один. Карты сообщений. Работать с ними можно только с помощью мастера и/или такой-то матери. MFC - всего лишь обертка над WinAPI. Причем очень прозрачная обертка, тот торчит из всех щелей. ООП-шность, похоже, была добавлена в библиотеку исключительно для галочки. Бесконечные Create и OnInitDialog заставляют создателей понятия "конструктор" плакать кровавыми слезами. Венгерская нотация. Ну я ее просто не люблю, кроме того, она загромождает код; не дает никаких преимуществ в языке со статической типизацией; нередко дает ложную информацию, когда типы переменных успели измениться, а имена остались. Обращение к элементам интерфейса происходит через одно место с использованием обезличенных ID, которые очень легко перепутать. Вот немного навскидку лично от меня. Еще раз повторюсь, что я не большой знаток MFC - так, читал книжку, пытался разобраться, немного ковырялся. Опытные пользователи, уверен, приведут гораздо больше фундаментальных косяков этой библиотеки, до которых я просто не дошел. Кое-что можно найти в этой статье. Может быть, я действительно не разбираюсь в MFC. Но она не сделала ничего для того, чтобы я захотел в ней разобраться. У некоторых других библиотек проблем с этим не возникало.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
26.07.2012, 22:46 | #13 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
mfc два года как не обновляется.
да и микрософт ей уже внимания практически не уделяет. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
27.07.2012, 15:43 | #14 | |||||||
Пользователь
Регистрация: 29.05.2012
Сообщений: 23
|
Цитата:
Цитата:
Цитата:
во вторых для каждого элемента диалога можно привязать переменную типа контрола и работать с контроллом через переменную например, СomboBox можно привязать к переменной типа CComboBox cbMyCombo; Цитата:
например, VCL грешил тем, что создавал кучу всего лишнего внутри себя и повлиять на это нельзя было Цитата:
Цитата:
Цитата:
косяки MFC, на мой взгляд: - сложна в обучении - нужно помнить много вещей, чтобы сделать простые вещи) - если что-то сделаешь не так, то трудно быстро понять, что не так(хотя чем дольше используешь MFC, то уже такие вещи встречаются все реже и реже) - использование ASSERT'ов везде(хотя терь к ним привык и они мне даже нравятся) - есть куча сторонних библиотек для разных нужд, включаю бесплатного гиганта UltimateToolBox - отсутсвие кроссплатформенности - ужасно тормозной дизайнер форм QT не знаю. Собираюсь изучить. Но вот косяки, кот. бросаются в глаза сразу же обычному пользователю: - убогий интерфейс; - раньше достаточно было показать как работает Drag&Drop, чтобы вселить ужас в рядового пользователя)(думаю такого типа косяки и в свежих версиях есть) |
|||||||
27.07.2012, 16:35 | #15 | ||||||
Пользователь
Регистрация: 29.05.2012
Сообщений: 23
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
вообще аналога MSDN в линуксе - нет если надо будет сделать чуть по сложнее, чем написать обработчик под нажатие кнопки - вы будете сильно озадачены Про юникод там вообще смешно: типа в Qt все только на юникодe, поэтому она лучше, хотя никто не мешает в MFC делать изначально тоже все на юникоде. Про ID ресурсов: Диапазон ID-ов ресурсов можно смешать куда угодно, для этого есть специальный инструмент. Другие преимущества Qt: я бы и не стал использовать системные вещи из Qt - нафига изобретать велосипед?? когда уже это все есть? Типа Boost с регулярными выражениями и так далее. Цитата:
|
||||||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Microsoft Visual Studio 2010 | Митовей | Общие вопросы C/C++ | 5 | 13.04.2015 13:26 |
Работа в Microsoft Visual Studio 2010 | Арабелит | Visual C++ | 5 | 22.01.2012 02:38 |
Посоветуйте книгу по Visual Studio 2010 | tolmik | Помощь студентам | 1 | 02.10.2011 22:15 |
ошибка при установке Microsoft Office 2010 Professional Plus 2010 VL [Оригинальный образ Microsoft] | syperman96 | Microsoft Office Word | 2 | 12.02.2011 12:50 |