Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Диалоговое окно 
:(
    Опции темы
FantomaS19
Дата 1.11.2007, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 28.7.2007

Репутация: нет
Всего: нет



В это диалоговое окно должно вводиться предложение, в зависимости от него выполняться определенные действия.Писал раньше только в консоли.С основами С++ знаком.Писать надо в VS2005.Что и куда нажимать?Если можно, литературу.
PM MAIL   Вверх
JackYF
Дата 1.11.2007, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: нет
Всего: 162



Цитата(FantomaS19 @  1.11.2007,  17:44 Найти цитируемый пост)
Если можно, литературу. 

Тебе в соответствующий раздел форума и поиск. Книг - завались.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Edik
Дата 1.11.2007, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 13.9.2006

Репутация: -1
Всего: 1



Посмотри мой хелп- себе лично писал, это по поводу создания диалогового окна и реакции на кнопки.



Присоединённый файл ( Кол-во скачиваний: 27 )
Присоединённый файл  article48.rar 0,83 Kb
PM MAIL   Вверх
Edik
Дата 2.11.2007, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 13.9.2006

Репутация: -1
Всего: 1



В архивчике (в пред. посте) я собрал то что читал по диалоговым окнам самое главное. Тебе поможет вникнуть. Только код из моей статьи (и вобще ) создает не модальное диалоговое окно:
Код
CDialog *helpDlg;
    helpDlg=new CDialog();
    helpDlg->Create(IDD_DIALOG2,this); //где IDD_DIALOG2 - ресурс диалога


а код:
Код

CDialog myDialog(IDD_DIALOG1,this);
    int res=myDialog.DoModal();

создает модальное диалоговое окно.
А вобще очень хорошие сайты по этому делу (просто и ясно) www.firststeps.ru и www.netcode.ru.
PM MAIL   Вверх
FantomaS19
Дата 4.11.2007, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 28.7.2007

Репутация: нет
Всего: нет



Цитата

А вобще очень хорошие сайты по этому делу (просто и ясно) www.firststeps.ru и www.netcode.ru.

Посмотрел эти сайты.Особенно понравился первый.Вроде пока все понятно.НО там написано как делать в 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". Хорошая ли она? 

Это сообщение отредактировал(а) FantomaS19 - 4.11.2007, 21:28
PM MAIL   Вверх
kurlyak
Дата 10.11.2007, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 7.11.2007

Репутация: 1
Всего: 3



Вот эта ошибка:
Цитата

fatal error C1010: unexpected end of file while look  c:\Program Files\...\step_1\step_1.cpp

это не значит что не так делаеться как VC++ 6.0. Это ошибка говорящая про то, что у тебя в программе step_1.cpp нету завершающей скобки } которую ты где то пропустил. к тому же на сайте www.firststeps.ru есть возможность скачивать примеры (посмотри на каждом уроке внизу страницы). А диалоги как в в 2005 студии, как в 6.0 создаються одинаково. Просто сама среда разработки несколько видоизменена. Книга хорошая сам ее читал. Попробуй скачать вот это- хелп:



Присоединённый файл ( Кол-во скачиваний: 22 )
Присоединённый файл  Visual_C___MFC.chm 88,66 Kb
PM MAIL   Вверх
ano360
Дата 12.11.2007, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 22.5.2006
Где: Москва

Репутация: нет
Всего: нет



книга может и хорошая,но чтоб ее усвоить начальный уровень хоть какойнить нужен.
Чесно пытался после Билдера разбираться с Визуалом по этой книге, не получилось-слишком много и сразу-не усваивается.
Книга вообще больше на справочник похожа чем на самоучитель.
(Возможно я не прав)

Это сообщение отредактировал(а) ano360 - 12.11.2007, 20:51


--------------------
Жизнь есть.
PM MAIL WWW ICQ   Вверх
FantomaS19
Дата 15.11.2007, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 28.7.2007

Репутация: нет
Всего: нет



Цитата

книга может и хорошая,но чтоб ее усвоить начальный уровень хоть какойнить нужен.
Чесно пытался после Билдера разбираться с Визуалом по этой книге, не получилось-слишком много и сразу-не усваивается.
Книга вообще больше на справочник похожа чем на самоучитель.
(Возможно я не прав)

По большому счету да.А как в принципе можно написать учебник по MFC ? 

Цитата

Попробуй скачать вот это- хелп:

Спасибо, хороший хелп.Например я зашел в "Работа с файлами". Там описаны 3 функции. И приведено еще 
около 30.Где бы найти более, менее полный справочник? 


PM MAIL   Вверх
kurlyak
Дата 17.11.2007, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 7.11.2007

Репутация: 1
Всего: 3



Этот справочник- короткий справочник. Правильно. Визуал С++ по нему не выучишь- это точно. Но если есть база знаний минимальная то он не заменим.
Цитата

Где бы найти более, менее полный справочник? 

Полный справочник по Visual C++ это MSDN который идет как дополнительная поставка к Visual Studo. Так и называеться MSND для Visual Studio. Но дело в том что он по английски. Берешь этот справочник, что скачал здесь, или любую другую информацию по русски и смотришь русское описание и применение функций, и если тебя заинтересовали эти функции по глубже, и ты уже что то про них знаешь, то в MSDN разобраться уже интуитивно будет проще. Понимаешь? Ты уже знаешь, что какая функция должна по идее делать, и чисто без глубкого знания английского разбираешься в MSDN- не. Если захочешь купить себе эту штуку на компакт- диске, то так и спрашивай MSDN для Visual Studio. В приницпе такое уточнение не нужно, так как MSDN и есть только для Vusual Studio, но продавцы часто сами не знают что продают, им надо уточнять, намекать, что к чему. Только версию MSDN надо по году подобрать к тому году, что и Vusual C++ у тебя. Потому что язык немного но меняеться. Лично у меня Vusual Studio 2005 но я до сих пор пользуюсь MSDN за 2001 год. Ничего, помогает, очень даже хоршо помагает.
Цитата

А как в принципе можно написать учебник по MFC ? 

Понимаешь, дорогой, язык 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. Те первые уроки они как бы вводные- ты не обязан писать с нуля все свои программы. Кстати еще раз говорю, что ты жаловался, что у тебя ошибка в первом шаге (ты набрал программу):
Цитата

fatal error C1010: unexpected end of file while look  c:\Program Files\...\step_1\

просто ты где то напутал со скобочками { или } где то по- моему одну лишнюю вставил, судя по ошибке, или одну забыл поставить, где то закрыть скобку. Посмотри еще раз, не разочаровывайся. Уроки клевые. Если в облом самому вводить программу, то можешь с урока скачать пример, я говорил, внизу страницы с уроком (кстати там у них тоже иногда ошибки в коде случаютсья в примерах). И Visual C++ среда разработки, когда ты захочешь открыть такой проект Visual Studio 6.0 запросит- конвертировать проект в вид Visual Studio 2005 или нет. Ответь да, просмотри код на ошибки, и все заработает.
PM MAIL   Вверх
kurlyak
Дата 17.11.2007, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 7.11.2007

Репутация: 1
Всего: 3



Я так понял у тебя диалоговое окно так и не получилось, сейчас у меня под рукой 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- то есть добавить функцию обработки этого сообщения и редактировать ее. Теперь начинаеться самое интересное. В кнопку добавь код(то есть в новую функцию):
Код

void CTestDlgDlg::OnBnClickedButton1()
{
    // TODO: Add your control notification handler code here

    CDialog dlg(IDD_DIALOG1);
    dlg.DoModal();
}

И все. Твой диалог появиться на экране, когда запустишь программу и нажмешь кнопку "Go My Dialog!". Если ты на своем диалоге хочешь обрабатывать кнопки OK и Cancel все будет немного сложнее, но если тебе интересно, я могу описать что делать. То есть нажимаешь OK - делаеться дальше одно, нажимаешь Cancel- другое. Если тебе интересно и понятно, я могу объяснить.



Это сообщение отредактировал(а) kurlyak - 17.11.2007, 15:27
PM MAIL   Вверх
FantomaS19
Дата 17.11.2007, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 28.7.2007

Репутация: нет
Всего: нет



kurlyak, огромное спасибо.Пока вроде все понятно.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.1628 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.