| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Диалоговое окно |
| Автор: FantomaS19 1.11.2007, 17:44 |
| В это диалоговое окно должно вводиться предложение, в зависимости от него выполняться определенные действия.Писал раньше только в консоли.С основами С++ знаком.Писать надо в VS2005.Что и куда нажимать?Если можно, литературу. |
| Автор: JackYF 1.11.2007, 18:44 |
Тебе в соответствующий раздел форума и поиск. Книг - завались. |
| Автор: Edik 1.11.2007, 23:18 |
| Посмотри мой хелп- себе лично писал, это по поводу создания диалогового окна и реакции на кнопки. |
| Автор: Edik 2.11.2007, 07:51 | ||||
В архивчике (в пред. посте) я собрал то что читал по диалоговым окнам самое главное. Тебе поможет вникнуть. Только код из моей статьи (и вобще ) создает не модальное диалоговое окно:
а код:
создает модальное диалоговое окно. А вобще очень хорошие сайты по этому делу (просто и ясно) http://www.firststeps.ru и http://www.netcode.ru. |
| Автор: FantomaS19 4.11.2007, 21:25 | ||
Посмотрел эти сайты.Особенно понравился первый.Вроде пока все понятно.НО там написано как делать в VC 6.0, а мне надо в VS 2003. Там пытался делать первый шаг.Создавал Win32Project и MFC Application. Пробовал с разными настройками. Все время выдает fatal error C1010: unexpected end of file while look c:\Program Files\...\step_1\step_1.cpp и иногда не то, что в VC 6.0. ЗЫ: Нашел книгу в бумажном варианте Мешков, Тихомиров "Visual C++ и MFC". Хорошая ли она? |
| Автор: kurlyak 10.11.2007, 19:57 | ||
Вот эта ошибка:
это не значит что не так делаеться как VC++ 6.0. Это ошибка говорящая про то, что у тебя в программе step_1.cpp нету завершающей скобки } которую ты где то пропустил. к тому же на сайте www.firststeps.ru есть возможность скачивать примеры (посмотри на каждом уроке внизу страницы). А диалоги как в в 2005 студии, как в 6.0 создаються одинаково. Просто сама среда разработки несколько видоизменена. Книга хорошая сам ее читал. Попробуй скачать вот это- хелп: |
| Автор: ano360 12.11.2007, 20:50 |
| книга может и хорошая,но чтоб ее усвоить начальный уровень хоть какойнить нужен. Чесно пытался после Билдера разбираться с Визуалом по этой книге, не получилось-слишком много и сразу-не усваивается. Книга вообще больше на справочник похожа чем на самоучитель. (Возможно я не прав) |
| Автор: FantomaS19 15.11.2007, 23:00 | ||||
По большому счету да.А как в принципе можно написать учебник по MFC ?
Спасибо, хороший хелп.Например я зашел в "Работа с файлами". Там описаны 3 функции. И приведено еще около 30.Где бы найти более, менее полный справочник? |
| Автор: kurlyak 17.11.2007, 14:15 | ||||||
Этот справочник- короткий справочник. Правильно. Визуал С++ по нему не выучишь- это точно. Но если есть база знаний минимальная то он не заменим.
Полный справочник по Visual C++ это MSDN который идет как дополнительная поставка к Visual Studo. Так и называеться MSND для Visual Studio. Но дело в том что он по английски. Берешь этот справочник, что скачал здесь, или любую другую информацию по русски и смотришь русское описание и применение функций, и если тебя заинтересовали эти функции по глубже, и ты уже что то про них знаешь, то в MSDN разобраться уже интуитивно будет проще. Понимаешь? Ты уже знаешь, что какая функция должна по идее делать, и чисто без глубкого знания английского разбираешься в MSDN- не. Если захочешь купить себе эту штуку на компакт- диске, то так и спрашивай MSDN для Visual Studio. В приницпе такое уточнение не нужно, так как MSDN и есть только для Vusual Studio, но продавцы часто сами не знают что продают, им надо уточнять, намекать, что к чему. Только версию MSDN надо по году подобрать к тому году, что и Vusual C++ у тебя. Потому что язык немного но меняеться. Лично у меня Vusual Studio 2005 но я до сих пор пользуюсь MSDN за 2001 год. Ничего, помогает, очень даже хоршо помагает.
Понимаешь, дорогой, язык Visual C++ слишком объемный, ты с первых уроков своих за компьютером сам тольком ничего не сможешь запомнить. Поэтому, рекомендую, все что ты новое узнаешь- заносить себе в тетрадочку, блокнотик, или в компьютер в текстовом виде. Клево, скажи? Все что ты сегодня выучил по Visual C++ занести в блокнотик и потом использовать. Ты посмотришь, что через месяц у тебя будет столько информации, что ты сможешь написать даже не одну книгу, а целых два тома. Кстати есть одна прога, называетсья HTML Help Workshop. Это уже другая тема- но с ее помощью можно создавать хелпы, виндовсовские хелпы. Один автономный файл с твоим хелпом. Поробуй найти ее в гугле, и скачать к ней описание. Я себе скачал. Ты сможешь даже выпустить свою собственную интернет- кингу, а потом например издать ее в бумажном варианте. Вобще это все так интересно... Меня самого захватывает С++. Изучаю уже год. Добавлено через 11 минут и 8 секунд Кстати FantomasS19 настоятельно рекомендую все таки изучать немного "Первые шаги" сайт по Visual C++ ( см. выше). Все, все примеры с этого сайта, с этих уроков могут работать в Visual Studio 2005. Только когда читаешь уроки- внимательно смотри, какие .h файлы прописать в проект, какие .lib файлы прилинковать в проекто. В принципе по первых уроках можно разобраться что именно App Wizard , который создает твою заготовку приложения вписывает в твою программу. Я понимаю, что тебя немного пугает созданная App Wizard MFC в Visual Studio заготовочная программа, поэтому там хорошо это описано. Без AppWizard. А потом уроки пойдут что надо будет создавать программы с AppWizard. Те первые уроки они как бы вводные- ты не обязан писать с нуля все свои программы. Кстати еще раз говорю, что ты жаловался, что у тебя ошибка в первом шаге (ты набрал программу):
просто ты где то напутал со скобочками { или } где то по- моему одну лишнюю вставил, судя по ошибке, или одну забыл поставить, где то закрыть скобку. Посмотри еще раз, не разочаровывайся. Уроки клевые. Если в облом самому вводить программу, то можешь с урока скачать пример, я говорил, внизу страницы с уроком (кстати там у них тоже иногда ошибки в коде случаютсья в примерах). И Visual C++ среда разработки, когда ты захочешь открыть такой проект Visual Studio 6.0 запросит- конвертировать проект в вид Visual Studio 2005 или нет. Ответь да, просмотри код на ошибки, и все заработает. |
| Автор: kurlyak 17.11.2007, 15:26 | ||
Я так понял у тебя диалоговое окно так и не получилось, сейчас у меня под рукой Visual Studio 2005, я попытаюсь подробно все описать. Сегодня выходной, можна расслабиться. Так вот. Запускаешь среду Visual Studio 2005. Дальше меню File->New->Project. Дальше выбор MFC Application. Внизу нового окошка этого своего MFC Application вводишь имя проекта. Например TestDlg. Жмешь ОК. Открываеться следующее окошко AppWizard. В нем просто нажимаешь Next. Дальше окошко- нажимаешь возле Dialog Based, убираешь птичку возле Use Unicode libraries, и ставишь пометку возле Use MFC in a static library - последнее значит, что твоя прога сможет работать на любом другом компьютере, если перенесешь программу. Жмешь Next. В следующем окоше (можешь сам разобраться что в нем к чему) тоже жмешь Next. В следующем окоше убираешь птичку возле ActiveX controls- мы эту технологию в программе использовать не будем. Жмешь Next и в финальном окошке жмешь Finish кнопку. Все заготовка сделанная AppWizard тобой закончена. Теперь сама программа. На закладке слева в среде разработки Resource View открываешь. Жмешь на имени твоих ресурсов правой кнопкой мыши и получаеться так (последовательность меню) TestDlg->Add->Resource. Открываеться новое окошко- в нем выбираешь Dialog (новый ресурс) и жмешь New кнопку. У тебя автоматически появляеться перед глазами твое новое диалоговое окно. С палитры элементов управления -справа появляеться перечень диалоговых элементов- выбираешь Static Text и ложишь его на свой диалог (надпись не забудь добавить в этот элемент). Этот диалог у тебя называеться IDD_DIALOG1. А главный диалог (изначально созданный в программе, откуда будет вызываться твой созданный IDD_DIALOG1) называеться IDD_TESTDLG_DIALOG. Найди его в ресурсах и открой, что бы его было видно. Положи на этот диалог кноку, дай ей надпись например "Go My Dialog!". Щелкни на кнопке правой кнопочкой мыши, и выбери Add Event Handler из меню. В новом окошке, что бы щелчек на кнопке срабатывал в программе выбери сообщение BN_CLICKED. Все в этом окошке, жми Add and Edit- то есть добавить функцию обработки этого сообщения и редактировать ее. Теперь начинаеться самое интересное. В кнопку добавь код(то есть в новую функцию):
И все. Твой диалог появиться на экране, когда запустишь программу и нажмешь кнопку "Go My Dialog!". Если ты на своем диалоге хочешь обрабатывать кнопки OK и Cancel все будет немного сложнее, но если тебе интересно, я могу описать что делать. То есть нажимаешь OK - делаеться дальше одно, нажимаешь Cancel- другое. Если тебе интересно и понятно, я могу объяснить. |
| Автор: FantomaS19 17.11.2007, 18:10 |
| kurlyak, огромное спасибо.Пока вроде все понятно. |