Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > MFC - с чего начать? |
Автор: saneea 13.7.2005, 21:25 |
Начинал читать разные книги по MFC, но уже с первой главы не могу ничего понять. С самим языком С++ я знаком, писал консольные приложения, а вот под винду нифига не получается. С чего начать? С чего начинали вы, когда знали многое о консольных приложениях, но не знали ни капли библиотеку MFC? Падскажите плыз... |
Автор: Coocky 13.7.2005, 21:27 |
Начинал с изучения МФС. Сейчас многие начнут кричать АПИ учить надо, не согласен, хотя и не полностью. Что конкретней тебе не понятно, давай по одному вопросу.. |
Автор: saneea 13.7.2005, 21:56 |
Ну вот как мне реализовать такую вещь: диалоговое окно, с двумя кнопками, одна "next", другая "cancel". Если нажать на "cancel" то окно закрывается, если на "next" - открывается подобное этому окно и т. д.? |
Автор: Coocky 13.7.2005, 22:13 | ||
Просто Создаешь проект МФС Віьираешь как диалог Создал, зашел в ресурсы , поудалял все кнопки и надписи... Нарисовал свои две кнопки Нажимаешь правой кнопкой на них( если работаешь в 2003 студии) Выбираешь Properites. Меняешь текст(пишешь) Затем берешь кнопку "Сansel" опять заходишь в ее свойства. Выьираешь кнопочку Messages появится собщений список для этой кнопки. Выбираеш BN_CLICKED, справа появится название функции-обработчика сообщений Выбираешь Add И сразу переходишь в код функции. Это означает , что при событии BN_CLICKED( пользователь щелкнул один раз на этой кнопке) Вызывается функция обработчик, вот в ней и обрабатываешь А имеено пишешь
Это функция диалогового окна, которая завершает его работу |
Автор: saneea 13.7.2005, 22:15 |
Пасиба, попробую. |
Автор: Coocky 13.7.2005, 22:23 | ||
Теперь вызов окна.... Добавляешь еще один диалог(для этого заходишь в AddResurces, вверху в меню Project) появится окошко с реурсами, выбираешь диалог и New Появится новый диалог, В свойствах укажи child Теперь жмешь правой кнопкой на нем и вібираешь AddClass Появится окно, где ты дашь имя классу этого диалога, и выбери его производным от СDialog Жми ок, появится новый класс. Внеси его описание( его заголовка) в класс своего первого диалога #include Создай его обьект.К примеру Mydialog2 dial; Проделай операции с кнопкой Next такие же как и с Cansel И в обработчие сделай
|
Автор: saneea 14.7.2005, 10:39 |
Я тут правда не совсем разобрался, но кое что понял. Я ещё уроки кое-какие почиатал и сделал, что хотел. У меня Microsoft Visual C++ 6.0, может по этому я не могу въехать, но продвижения уже есть, главное, что я начал этим заниматься. Но вопросы ещё будут. |
Автор: En_t_end 14.7.2005, 13:52 |
saneea В 6-ой студии есть удобный и мощный визард. Научишься пользоваться им - научишься использовать МФЦ на уровне продвинутого новичка. |
Автор: Vaulter 14.7.2005, 15:21 |
MFC умерло. сорри за оффтоп, просто. ИМХо не стоит изучать то, что умерло |
Автор: saneea 15.7.2005, 11:08 |
MFC умерло. А что тогда учить? |
Автор: Alastis 15.7.2005, 11:16 |
saneea спроси Perchill'у ![]() ну ладно, отвечу за него... да и за себя - http://www.trolltech.com/ воспользуйся поиском - поймешь что это и почему MFCумерло |
Автор: Plotter 15.7.2005, 13:12 |
MFC учить надо... ибо а) пока что это везде требуется и переход на что-то другое произойдет еще не очень скоро. Все проекты, которые уже созданы переделываться, имхо, не будут. б) в любом случае полезно, чтобы понять как все это работает в) и что вообще такое? человек решил изучить MFC... полезное, ведь, дело... а вы его отговарвать начинаете. |
Автор: En_t_end 16.7.2005, 11:04 |
Надо учить. Потом для изучения того же QT опыт будет достаточным. Хорошо ООП освоишь. |
Автор: saneea 1.4.2006, 16:59 |
Подскажите пжалста какую-нить функцию шоб удаляла папку по заданному имени. |
Автор: Dreamer_0x01 1.4.2006, 17:58 |
Для изучения МФЦ нужно рахобраться с основными макросами, которые в МФЦ иногда могут начинающго программиста ввести в состояние паники. Также, неплохо освоить работу потоков в МФЦ. Так как большинство приложений в МФЦ на начальной стадии клепаются Визардом, а Визард для этого создает классы, производные от классов потоков МФЦ. Что касается вымерла/не вымерла...Я вот например использую, нравится, для моих задач вполне хватает... |
Автор: DeadSoul 1.4.2006, 18:36 |
C#, Java Если интересует С++, то STL, boost В скольких фирмах используется QT? MFC изспользуется гораздо чаще. |
Автор: saneea 1.4.2006, 18:46 |
Как папку удалить??? |
Автор: AlexPro 2.4.2006, 00:44 |
BOOL RemoveDirectory(LPCTSTR lpszDir) - Удаляет указанный пустой каталог. Это тебе лично Билл Гейтс сказал? ![]() ![]() В том числе на нем пишутся и современнейшие профессиональные интерфейсные библиотеки (на мой взгляд, интерфейс пользователя - самое слабое место в MFC). Можно посмотреть http://www.prof-uis.com/ и http://www.codejock.com/. Так что, saneea, не верь тем, кто хоронит MFC. По крайней мере, еще несколько лет он будет жить. Плюс в C# много взято из MFC, так что опыт не пропадет. |
Автор: Dreamer_0x01 2.4.2006, 14:57 | ||
Но ведь для исполнения приложений, написанных на этих языках, нужно устанавливать ФраймВоркс и Виртуальную машину Ява, или я не прав? Кстати, раз уж разговор пошел в эту ветку - я давно хочу продолжить изучение либо того, либо того языка - как их сравнить? И по повду QT. Услышав про него в первый раз, пошел по указанной ссылке. Гляжу, а там все по-английски, что меня и вынудило сразу уйти с этого сайта...Русскоязычное есть что-нибудь по этой разработке? |
Автор: saneea 2.4.2006, 16:23 | ||
не получается ![]() пробовал так: BOOL RemoveDirectory("D:\rt"); - не удаляет. Что я не так делаю? ![]() |
Автор: Dreamer_0x01 2.4.2006, 17:14 | ||||
'\r' - это символ возврата каретки. Учите синтаксис ;) |
Автор: S.A.P. 2.4.2006, 17:28 | ||
тебе http://www.opennet.ru/docs/RUS/qt3_prog/index.html http://www.qtlib.ru/ http://prog.org.ru/forum/forum_14.html http://hardclub.donntu.edu.ua/projects/qt/pages/index.htm Пока информации мало и всё слишком разбросано. |
Автор: Dreamer_0x01 2.4.2006, 17:38 |
S.A.P., спасибо за ссылки. |
Автор: DeadSoul 2.4.2006, 19:07 |
S.A.P., насчет мало не соглашусь. Есть как минимум http://www.ozon.ru/context/detail/id/2222143/ http://www.ozon.ru/context/detail/id/2273393/ По wxWidgets столько информации нет. По этой библиотеки вообще нет информации на русском языке |
Автор: S.A.P. 2.4.2006, 19:59 |
DeadSoul, ну если сравнивать с Delphi, например, то мало ![]() ![]() |
Автор: DeadSoul 2.4.2006, 20:00 | ||
Согласен, что мало. Но это хоть что-то. |
Автор: AlexPro 3.4.2006, 03:34 |
В сишных строках символ "\" является специальным. Если твой каталог называется "rt", то должна быть следующая команда: RemoveDirectory("D:\\rt"); |