С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.70/86: Рейтинг темы: голосов - 86, средняя оценка - 4.70
6 / 6 / 1
Регистрация: 29.11.2010
Сообщений: 101

Работа с MFC: Как создать дочерние окна?

27.07.2011, 22:11. Показов 16928. Ответов 95
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть некоторые вопросы по этой библиотеке..... 1 Как создать дочерние окна ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.07.2011, 22:11
Ответы с готовыми решениями:

Создать страницу, с помощью которой пользователь сможет произвольно создавать и закрывать дочерние окна
Ребят, доброй ночи. Очень прошу помощи. Нужно создать скрипт, а я в этом деле тугодум, т.к. ничего не обьясняли. Спонтанно, это надо...

Работа в MFC. Обновление окна.
У меня в функции OnDraw() отрисовывается куб. По нажатию мыши нужно чтобы этот куб стирался и рисовался новый куб с другими сторонами. С...

Как создавать дочерние окна?
Вот у меня окно например форм1, нажимаю на буттон и в форм1 появляется форм2 (появление должно быть незаметным). могу привести пример,...

95
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
22.03.2013, 20:51
Студворк — интернет-сервис помощи студентам
ДинисламХХХ,Во перовых строках письма теме уже два года, мне пришлось перечитать все
во вторых
Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
там выводит ошибку при записи в файл..
где ? какую?

Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
cf.Open("cfile.txt", CFile::modeReadWrite| CFile::modeNoTruncate, NULL);
* * UpdateData(TRUE);
* * s = m_edit1;
* *cf.WriteString(s);
здесь?
в чем ошибка?
Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
if (!cf.Open("cfile.txt", CFile::modeRead, NULL))
* * * * cf.Open("cfile.txt", CFile::modeCreate | CFile::modeWrite | CFile::typeText, NULL);
или сдесь?
так ты сам задал
файл не открылся открыть его еще один раз
и не проверяем второй раз почему он не открылся
может файла нет?
может он занят кем то?
или ты думаешь что файл
не открылся на чтение,то его не существует ?
ну так ты ошибешься

Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
void CMyTestS::OnBnClickedButton2()
{ *
* * CStdioFile cf;
* * cf.Open("cfile.txt", CFile::modeReadWrite| CFile::modeNoTruncate, NULL);
* * UpdateData(TRUE);
* * s = m_edit1;
* *cf.WriteString(s);
* * *UpdateData(FALSE);
* cf.Close();
}
вот здесь у тебя cf локальный при выходе из функции он закроется
авот здесь?

Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
void CMyTestS::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
* * CDialog::OnActivate(nState, pWndOther, bMinimized);
* * if (!cf.Open("cfile.txt", CFile::modeRead, NULL))
* * * * cf.Open("cfile.txt", CFile::modeCreate | CFile::modeWrite | CFile::typeText, NULL);
// TODO: добавьте свой код обработчика сообщений
}
кто такой cf? член класса? глобальный?
и вот здесь он закрывается

Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
void CMyTestS::OnClose()
{
* * // TODO: добавьте свой код обработчика сообщений или вызов стандартного
*cf.Close();
* * CDialog::OnClose();
}
что за вызов CDialog::OnClose();
CDialog::OnActivate(nState, pWndOther, bMinimized);?
есть нормальный вызов родителя OnInitDialog

короче словами объясни что ты хочешь сделать?
пока я вижу при активации диалога захватываем файл, и при закрытии овобождаем
0
6 / 6 / 1
Регистрация: 29.11.2010
Сообщений: 101
22.03.2013, 20:57  [ТС]
в общем запись в файл из текстбоксов... я в с++ нуб на делфи это волоку... приведи пожалуйста пример как проверить сущ. файл если да то добавить, нет создать...
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
22.03.2013, 20:58
Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
если не сложно пример покажи
Пример чего?
0
6 / 6 / 1
Регистрация: 29.11.2010
Сообщений: 101
22.03.2013, 21:05  [ТС]
Цитата Сообщение от ValeryS Посмотреть сообщение
Пример чего?
вот как реализовать то что я описал выше..
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
22.03.2013, 21:07
Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
вот как реализовать то что я описал выше..
я как раз и не понял что ты описал

Цитата Сообщение от ValeryS Посмотреть сообщение
короче словами объясни что ты хочешь сделать?
0
6 / 6 / 1
Регистрация: 29.11.2010
Сообщений: 101
22.03.2013, 21:12  [ТС]
мне нужно данные из editBox записать в файл, но сначала проверить существует ли такой файл если существует то просто добавить в него записи если нет создать файл и записать.. ну а сейчас понятно?? ))
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
22.03.2013, 21:13

Не по теме:

ValeryS, да у него cf не объявлен, ну ё-моё ж


Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
CString s;
void CMyTestS::OnBnClickedButton2()
{ *
* * CStdioFile cf; - единственное объявление на весь блок причём оно только для OnBnClickedButton2
* * cf.Open("cfile.txt", CFile::modeReadWrite| CFile::modeNoTruncate, NULL);
* * UpdateData(TRUE);
* * s = m_edit1;
* *cf.WriteString(s);
* * *UpdateData(FALSE);
* cf.Close();
}
void CMyTestS::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
* * CDialog::OnActivate(nState, pWndOther, bMinimized);
* * if (!cf.Open("cfile.txt", CFile::modeRead, NULL))//где объявлен cf!!!
* * * * cf.Open("cfile.txt", CFile::modeCreate | CFile::modeWrite | CFile::typeText, NULL);
// TODO: добавьте свой код обработчика сообщений
}
void CMyTestS::OnClose()
{
* * // TODO: добавьте свой код обработчика сообщений или вызов стандартного
*cf.Close(); //где объявлен cf!!!
* * CDialog::OnClose();
}
Как можно вообще что то хотеть от кода если в нём уже 2 ошибки, даже без вдавания в подробности
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
22.03.2013, 21:16
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Как можно вообще что то хотеть от кода если в нём уже 2 ошибки, даже без вдавания в подробности
Юра я уже задал это вопрос
вполне возможно(хотя это глупо) что cf есть и локальная переменная и член класса
ждем когда ответит ТС
Цитата Сообщение от ValeryS Посмотреть сообщение
короче словами объясни что ты хочешь сделать?
0
6 / 6 / 1
Регистрация: 29.11.2010
Сообщений: 101
22.03.2013, 21:21  [ТС]
а есть вариант глобально объявить эту переменную??
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
22.03.2013, 21:22
Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
а есть вариант глобально объявить эту переменную??
есть(хотя это глупо)
ты еще раз ответь
Цитата Сообщение от ValeryS Посмотреть сообщение
короче словами объясни что ты хочешь сделать?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
22.03.2013, 21:22
Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
а есть вариант глобально объявить эту переменную??
- вот именно верное решение

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
CString s;
CStdioFile cf; //вот сюда её запихни а внизу объяву в OnBnClickedButton2 убери
void CMyTestS::OnBnClickedButton2()
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
22.03.2013, 21:26
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
вот именно верное решение
Ты щас насоветуешь
если файл открывается только в диалоге то какого художника она должна быть глобальная
понимаю так проще, но не правильно
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
22.03.2013, 21:28
Цитата Сообщение от ValeryS Посмотреть сообщение
Ты щас насоветуешь
если файл открывается только в диалоге то какого художника она должна быть глобальная
понимаю так проще, но не правильно
- всё нормально я насоветовал, чем проще тем лучше, проверку только добавить на открытость cf и открывать первый раз в режиме modeRead вот и все дела. Код писать влом, мож по свободе покажу
0
6 / 6 / 1
Регистрация: 29.11.2010
Сообщений: 101
22.03.2013, 21:32  [ТС]
вы меня сильно то не пинайте ))
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
22.03.2013, 21:36
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
проверку только добавить на открытость cf
я че её проверять
открывай файл, если не открылся анализируй ошибку
или файла нет или занят
но насчет глобальности мы с тобой расходимся
я бы сделал членом класса

Добавлено через 1 минуту
ДинисламХХХ,
ты ответишь
Цитата Сообщение от ValeryS Посмотреть сообщение
короче словами объясни что ты хочешь сделать?
четвертый раз спрашиваю,потом устану
0
6 / 6 / 1
Регистрация: 29.11.2010
Сообщений: 101
22.03.2013, 21:38  [ТС]
Цитата Сообщение от ValeryS Посмотреть сообщение
я че её проверять
открывай файл, если не открылся анализируй ошибку
или файла нет или занят
но насчет глобальности мы с тобой расходимся
я бы сделал членом класса

Добавлено через 1 минуту
ДинисламХХХ,
ты ответишь

четвертый раз спрашиваю,потом устану
я не знаю как еще тебе объяснить.... текст из Edit Control записать в файл... как еще понятливее??
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
22.03.2013, 21:43
Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
я не знаю как еще тебе объяснить.... текст из Edit Control записать в файл... как еще понятливее??
прекрасно
когда?
нажимаем кнопку?
при закрытии диалога?
при вводе букв?
0
6 / 6 / 1
Регистрация: 29.11.2010
Сообщений: 101
22.03.2013, 21:44  [ТС]
при нажатии на кнопку ))
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
22.03.2013, 21:55
ValeryS, если честно ты меня разочаровал, ладно ДинисламХХХ, вот тебе твоё задание
Цитата Сообщение от ДинисламХХХ Посмотреть сообщение
мне нужно данные из editBox записать в файл, но сначала проверить существует ли такой файл если существует то просто добавить в него записи если нет создать файл и записать.. ну а сейчас понятно?? ))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void CCheckOpenDlg::OnOK() 
{
    // TODO: Add extra validation here
    UpdateData(true);
    CStdioFile pFile;
    if(!pFile.Open("data.txt", CFile::modeReadWrite))
        AfxMessageBox("Файл ещё не создавался");
    if(!pFile.m_pStream)
    if(!pFile.Open("data.txt", CFile::modeCreate | CFile::modeWrite))
        AfxMessageBox("Всё алес алгоритму файл и создать нельзя");
    if( pFile.m_pStream )
    {
        pFile.WriteString(m_edit1);
        pFile.Close();
        AfxMessageBox("Запись успешна!");
    }
    UpdateData(false);
    //CDialog::OnOK();
}
Миниатюры
Работа с MFC: Как создать дочерние окна?  
Вложения
Тип файла: rar CheckOpen.exe.rar (3.6 Кб, 4 просмотров)
Тип файла: rar CheckOpen_proj.rar (22.9 Кб, 4 просмотров)
2
22.03.2013, 21:57

Не по теме:

Файлик

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
"data.txt"
создаётся в каталоге с экзешником, больше дополнений нет

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.03.2013, 21:57
Помогаю со студенческими работами здесь

Как правильно создавать дочерние окна?
Всем доброе время суток. Может кто подсказать как правильно создавать дочерние окна. Например есть окно Form1 и при нажатии на кнопку нужно...

Как создавать дочерние окна (окно в окне)
Здравствуйте! Подскажите пожалуйста, как можно в WPF создавать дочерние окна? т.е. Есть одно окно mainWindow, и по кнопке можно вызвать...

Как получить все дочерние окна процесса?
Получаю все процессы, нахожу нужный, но мне еще нужны вложенные окна типа Ebit и им подобным, полный список, как их можно получить? Через...

Как получить все дочерние окна процесса?
Получаю все процессы, нахожу нужный, но мне еще нужны вложенные окна типа Ebit и им подобным, полный список, как их можно получить? Через...

Как передать значение из родительского окна в дочерние?
var newWin = window.open('about:blank', 'example', 'width=600,height=400'); // создать div в документе нового окна var div =...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru